ubuntu22.0.4 kolla多节点搭建openstack ,skyline

2023-05-16

kolla部署openstack

基础

  1. 更新软件包索引。
sudo apt update

2.安装 Python 构建依赖项:

sudo apt install git python3-dev libffi-dev gcc libssl-dev

为虚拟环境安装依赖

  1. 安装虚拟环境依赖项。
sudo apt install python3-venv
  1. 创建一个虚拟环境并激活它:
python3 -m venv /path/to/venv
source /path/to/venv/bin/activate
  1. 确保安装了最新版本的 pip:
pip install -U pip
  1. 安装Ansible。Kolla Ansible 至少需要 Ansible 4,最多支持5.
pip install 'ansible>=4,<6'

如果出现ansible版本错误 ,请更新你的ansible-core的版本

安装 kolla-ansible

克隆代码

这里注意我们使用的是 stable/zed分支:

git clonehttps://kgithub.com/openstack/kolla-ansible -b stable/zed
pip install kolla-ansible

配置 kolla-ansible

安装依赖:

pip install -r kolla-ansible/requirements.txt

创建 kolla 配置文件并设置权限:

sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla

拷贝 kolla 配置文件模版:

cp -r kolla-ansible/etc/kolla/* /etc/kolla

安装 Ansible Galaxy 依赖项:

kolla-ansible install-deps

下一步是准备我们的库存文件。清单是一个 Ansible 文件,我们在其中指定主机及其所属的组。我们可以使用它来定义节点角色和访问凭证。

Kolla Ansible 附带了all-in-one示例multinode清单文件。它们之间的区别在于前者已准备好在本地主机上部署单节点 OpenStack。

配置单节点清单文件

cp kolla-ansible/ansible/inventory/* ~/
vim ~/multinode

自己根据你的服务 选择

[control]
controller

[network]
controller

[compute]
compute1
compute2
compute3

[storage]
compute1
compute2
compute3

[monitoring]
controller

[deployment]
controller

我们部署中使用的密码存储在/etc/kolla/passwords.yml 文件中。此文件中的所有密码都是空白的,必须手动或通过运行随机密码生成器来填写:

kolla-genpwd

vim /etc/kolla/passwords.yml

//修改第165行,这是登录Dashboard(web界面控制台)的密码。正常情况下也不能太简单,可以截取一段自动生成的密码

keystone_admin_password: 123456

vim /etc/kolla/globals.yml
//第14行和第15行,选择下载的基础镜像,5选1

# Valid options are ['centos', 'debian', 'oraclelinux', 'rhel', 'ubuntu']

kolla_base_distro: "ubuntu"

//第17行和第18行,选择的安装方法,2选1。binary二进制安装,source源码安装

# Valid options are [ binary, source ]

kolla_install_type: "source"

//第20行和第21行,选择OpenStack的版本标签,详细请看:https://releases.openstack.org/

# Valid option is Docker repository tag

openstack_release: "zed"  //注意版本必须小写,后期下载的OpenStack相关的docker镜像标签也为stein。我是train版本失败,才换成stein

//第23行和第24行,存放配置文件的位置

# Location of configuration overrides

#node_custom_config: "/etc/kolla/config"  //默认存放地址

//第31行,OpenStack内部管理网络地址,通过该IP访问OpenStack Web页面进行管理。如果启用了高可用,需要设置为VIP(漂移IP)

kolla_internal_vip_address: "10.196.110.100"

//第87行,OpenStack内部管理网络地址的网卡接口

network_interface: "eth0"

//第105行,OpenStack外部(或公共)网络的网卡接口,可以是vlan模式或flat模式。

//此网卡应该在没有IP地址的情况下处于活动,如果不是,那么OpenStack云平台中的云主机实例将无法访问外部网络。(存在IP时br-ex桥接就不成功)

neutron_external_interface: "eth1"

//第190行,关闭高可用

enable_haproxy: "no"

//第443行和第444行,指定nova-compute守护进程使用的虚拟化技术。(kvm好像有点问题,大家可以试试,看看你们能不能过nova下载)

//nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理虚拟机实例的生命周期

# Valid options are [ qemu, kvm, vmware, xenapi ]

nova_compute_virt_type: "qemu"

生成ssh key,并给自己授权

ssh-keygen

ssh-copy compute1
ssh-copy compute2
ssh-copy compute3

执行部署

Bootstrap servers

该步骤会对当前环境做一些检查与基础配置。

kolla-ansible -i ~/multinode bootstrap-servers

部署前检查

kolla-ansible -i ~/multinode prechecks

拉取镜像

kolla-ansible -i /etc/kolla/all-in-one pull

执行部署

kolla-ansible -i ~/multinode deploy

生成 keystone admin 用户环境变量文件

kolla-ansible -i ~/multinode post-deploy

cat  /etc/kolla/admin-openrc.sh

安装cli命令行

pip install python3-openstackclient python3-glanceclient python3-neutronclient

部署skyline

mkdir /etc/skyline

查看数据库密码

cat /etc/kolla/passwords.yml | grep ^database

连接 OpenStack 环境的数据库, 并创建 skyline 数据库;

docker exec -it  mariadb  bash  去操作
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'skyline';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%'  IDENTIFIED BY 'skyline';

查看keystone是否开启了35357端口 如果没有开启 下面请改成5000端口

配置yaml

vi /etc/skyline/skyline.yaml
default:
  access_token_expire: 3600
  access_token_renew: 1800
  cors_allow_origins: []
  database_url: 'mysql://root:1Y3PTsuvZCy6Rn3rjZRwQmqYEUj7QqfosRRxcrl4@10.196.2.100:3306/skyline'
  # database_url: 'sqlite:tmp/skyline.db'
  debug: false
  log_dir: ./log
  prometheus_basic_auth_password: ''
  prometheus_basic_auth_user: ''
  prometheus_enable_basic_auth: false
  prometheus_endpoint: http://localhost:9091
  secret_key: aCtmgbcUqYUy_HNVg5BDXCaeJgJQzHJXwqbXr0Nmb2o
  session_name: session
developer:
  show_raw_sql: false
openstack:
  base_domains:
  - heat_user_domain
  base_roles:
  - keystone_system_admin
  - keystone_system_reader
  - keystone_project_admin
  - keystone_project_member
  - keystone_project_reader
  - nova_system_admin
  - nova_system_reader
  - nova_project_admin
  - nova_project_member
  - nova_project_reader
  - cinder_system_admin
  - cinder_system_reader
  - cinder_project_admin
  - cinder_project_member
  - cinder_project_reader
  - glance_system_admin
  - glance_system_reader
  - glance_project_admin
  - glance_project_member
  - glance_project_reader
  - neutron_system_admin
  - neutron_system_reader
  - neutron_project_admin
  - neutron_project_member
  - neutron_project_reader
  - heat_system_admin
  - heat_system_reader
  - heat_project_admin
  - heat_project_member
  - heat_project_reader
  - placement_system_admin
  - placement_system_reader
  - panko_system_admin
  - panko_system_reader
  - panko_project_admin
  - panko_project_member
  - panko_project_reader
  - ironic_system_admin
  - ironic_system_reader
  - octavia_system_admin
  - octavia_system_reader
  - octavia_project_admin
  - octavia_project_member
  - octavia_project_reader
  default_region: RegionOne
  extension_mapping:
    fwaas_v2: neutron_firewall
    vpnaas: neutron_vpn
  interface_type: public
  keystone_url: 'http://10.196.2.100:5000/v3'
  nginx_prefix: /api/openstack
  reclaim_instance_interval: 604800
  service_mapping:
    baremetal: ironic
    compute: nova
    database: trove
    identity: keystone
    image: glance
    load-balancer: octavia
    network: neutron
    object-store: swift
    orchestration: heat
    placement: placement
    volumev3: cinder
  system_admin_roles:
  - admin
  - system_admin
  system_project: 'service'
  system_project_domain: 'Default'
  system_reader_roles:
  - system_reader
  system_user_domain: 'Default'
  system_user_name: 'skyline'
  system_user_password: 'skyline'
setting:
  base_settings:
  - flavor_families
  - gpu_models
  - usb_models
  flavor_families:
  - architecture: x86_architecture
    categories:
    - name: general_purpose
      properties: []
    - name: compute_optimized
      properties: []
    - name: memory_optimized
      properties: []
    - name: high_clock_speed
      properties: []
  - architecture: heterogeneous_computing
    categories:
    - name: compute_optimized_type_with_gpu
      properties: []
    - name: visualization_compute_optimized_type_with_gpu
      properties: []
  gpu_models:
  - nvidia_t4
  usb_models:
  - usb_c



2.运行 skyline_bootstrap 容器进行初始化引导
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest


3.初始化引导完成后运行 skyline 服务
docker rm -f skyline_bootstrap

docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest


4.查看服务
root@controller:/etc/skyline# netstat -tnlp |grep 9999
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      453702/nginx: maste
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu22.0.4 kolla多节点搭建openstack ,skyline 的相关文章

随机推荐

  • 方面情感分析的四个情感元素介绍

    方面情感分析介绍 一般情感分析的问题由两个部分组成 xff1a 目标和情绪 目标可以是实体也可以是实体的某一个属性 xff0c 方面 xff0c 特点等等 xff0c 情绪是表达对目标的感情 xff0c 这里一般是积极 xff0c 消极 x
  • go中使用sqlite

    1 安装mingw64 1 1 下载mingw sqlite作为一个快速开发的数据库 xff0c 理应被go支持 xff0c 但是要在go里面使用sqlite xff0c 实际上是要下载sqlite的源代码编译的 xff0c 当然 xff0
  • map 详解(C++)

    现实中的数据很多是关联的 xff0c 例如书本名称和价格 xff0c 每条数据都含有两部分 xff1a 信息学竞赛一本通 xff1a 80 高等数学 xff1a 27 5 生物信息分析 xff1a 35 5 我们可以使用map存储这类一对一
  • 详解Ubuntu文件的结构

    首先我们知道 xff0c linux系统文件结构和windows系统文件结构不同之处在于 xff0c linux系统文件统一挂载在根目录下的 xff0c 而windows系统的文件是分磁盘挂载的 windows下通常分C盘D盘E盘等 xff
  • Go 语言 exec 实时获取外部命令的执行输出

    Go 语言 exec 实时获取外部命令的执行输出 在 Go 语言中调用外部 Linux 命令可以通过标准的 os exec 包实现 xff0c 我们一般的使用方式如下 xff1a span class token keyword packa
  • ubuntu 18.04 arm64版 安装docker 踩坑

    一 安装ubuntu 18 04系统 可以参考该系列其他文章 二 安装docker 1 先卸载可能存在的旧版本 apt remove docker docker span class token operator span engine d
  • Linux网络中的桥 (Bridge)

    桥简介 桥 xff0c 从字面来讲就是在一条河流上面建造一条路 xff0c 对 xff0c 就是这样 xff0c 甭管是多大多长跨江还是跨海 xff0c 它都是起到连接两岸的作用 在计算机的网络世界中也存在这种连接的两个网络的设备 xff0
  • MySQL8.0 开启远程连接

    一 MySQL 开启远程连接需要先在服务器上登录到 MySQL mysql u root p 1 然后 Enter password 二 修改 root 账户的 Host 1 打开 mysql 数据库 use mysql 1 2 查看 us
  • 实时天气API

    restful接口查询天气 实时天气 API 和风天气开发平台 实时天气 全国4000 个市县区和海外15万个城市实时天气数据 包括实时温度 体感温度 风力风向 相对湿度 大气压强 降水量 能见度 露点温度 云量等数据 请求URL nbsp
  • C程序的内存结构

    以类Unix环境下的程序运行为例 xff0c 说明C程序的运行过程和内存分配 xff0c windows环境下原理一致 xff0c 但实现细节会有区别 xff0c 所以首先我们要明白 xff1a 程序的内存布局 Program Memory
  • AD采用多层原理图和ROOM方式高效率绘制重复性功能电路板图

    我们在使用altium designer绘制原理图和PCB时 xff0c 往往会遇到多路重复性的电路 xff0c 其功能和走线完全一致 xff0c 在条件允许的情况下我们可以采用多层原理图和ROOM方法避免重复性劳动 本文以两路RS485电
  • Ubuntu网络频繁掉线解决方案

    转自 xff1a http www cnblogs com ljxxz p 5089863 html 年底了 xff0c 实验室终于给配了个电脑 xff08 Ubuntu系统 xff09 xff0c 博主欣喜若狂啊 xff0c 然而装好后发
  • 部分Windows 10企业版用户无法使用微软Edge浏览器

    图片来自 xff1a neowin 很多关于Windows 10的问题悬而未决 xff0c 在微软正式推出Windows 10之前还有一个多月的时间 xff0c 很多事情都会发生改变 就在本周 xff0c 来自Gartner Inc的分析师
  • 无法远程连接如何排错

    无法远程连接如何排错 去北京天安门广场 连接服务器 服务器位置 10 0 0 200 1 连接不上服务器 测试我和天安门广场之间的道路是否通畅 百度地图 连接不上10 0 0 200 测试和200通信是否正常 ping 10 0 0 200
  • 51单片机实时时钟显示

    51单片机 43 DS1302 43 DS18B20 43 LCD12864 用的IIC通信 xff0c 写的一个ds3231时钟模块的程序 xff0c 可更改时间 xff0c 下面是 h文件里面的部分代码 ifndef ds3231 h
  • RouterOS(ROS)软路由阿里云动态域名解析Aliyun DDNS

    本文讲解ROS借助阿里云的 DNS API 来实现域名与动态 IP 的绑定 xff0c 用来达到外网访问内网设备的需求 一 给域名添加A记录解析 1 点击登录阿里云域名控制台 2 给域名添加一个A记录解析 xff0c 记录值可以随意填写 x
  • <X>远程登录服务

    文章目录 一 ssh1 ssh服务的用途2 基本用法3 ssh 服务的 key 认证 二 文件传输1 实验环境2 scp 命令3 rsync命令 三 文件的归档与压缩1 文件归档2 文件的压缩3 tar 43 压缩 四 日志1 journa
  • springboot项目正常启动后却无法访问

    报错内容 xff1a Resolved org springframework http converter HttpMessageNotReadableException Required request body is missing
  • 如何解决远程桌面登录后闪退

    在cmd中输入这个命令 xff0c 可以防止登录远程桌面后闪退 mstsc admin
  • ubuntu22.0.4 kolla多节点搭建openstack ,skyline

    kolla部署openstack 基础 更新软件包索引 span class token function sudo span span class token function apt span update 2 安装 Python 构建