当前位置: 首页 > news >正文

kolla-ansible部署openstacl

kolla-ansible部署openstack

1、简介

2、环境准备

主机名 网卡名/类型 ip地址
openstack01 ens33 nat
ens36 nat
ens33 192.168.50.40
openstack02 ens33 nat
ens36 nat
ens33 192.168.50.41
openstack03 ens33 nat
ens36 nat
ens33 192.168.50.42

3、部署

1、基础环境准备(所有节点配置)

[root@localhost ~]# hostnamectl set-hostname openstack01
[root@localhost ~]# bash
# 在部署节点上添加所有节点的hosts
192.168.50.40 openstack01
192.168.50.41 openstack02
192.168.50.42 openstack03# 非部署节点只需要添加自己的主机名解析即可,如下为openstack02的配置
192.168.50.41 openstack02
[root@openstack01 ~]# ssh-keygen
[root@openstack01 ~]# ssh-copy-id openstack01
[root@openstack01 ~]# ssh-copy-id openstack02
[root@openstack01 ~]# ssh-copy-id openstack03
[root@openstack01 ~]# systemctl disable --now firewalld
[root@openstack01 ~]# setenforce 0
[root@openstack01 ~]# sed -i 's/SELINUX=/SELINUX=disabled/g' /etc/selinux/config

我使用的是欧拉,这一步可以不做,其他的linux需要安装epel源

[root@openstack01 ~]# yum install epel-release -y

因为kolla-ansible是将各个组件部署在容器内的,所以需要安装docker

[root@openstack01 ~]# dnf install -y yum-utils device-mapper-persistent-data lvm2 -y
[root@openstack01 ~]#  wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
[root@openstack01 ~]# yum install docker-ce -y

如果是欧拉系统,这里就直接yum install docker -y就可以了,欧拉的源自带了docker

2、部署kolla-ansible

1、安装相关的依赖

需要在每个节点上执行

dnf install git python3-devel libffi-devel gcc openssl-devel python3-libselinux -y

2、部署kolla-ansible

启用python虚拟环境

虚拟机本地有python版本,启动了一个虚拟环境后,在这个里面安装对应的python版本,跟宿主机的就没有任何的关联

[root@openstack01 ~]# python3 -m venv .venv/kolla
[root@openstack01 ~]# source ~/.venv/kolla/bin/activate 

后续所以的操作在这个虚拟环境中执行,不会污染宿主机

安装kolla-ansible

# pip下载地址改为清华源,下载速度回非常的快
(kolla) [root@openstack01 ~]# pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 更新pip,保持最新的
(kolla) [root@openstack01 ~]# pip3 install -U pip# 安装指定的版本的ansible-core,koll-ansible对ansible版本要求非常的严格
(kolla) [root@openstack01 ~]# pip3 install 'ansible-core>=2.15,<2.16.99'# 安装kolla-ansible 主工具
(kolla) [root@openstack01 ~]# pip3 install kolla-ansible# 安装galaxy依赖,因为运行需要很多的ansible角色,会自动的下载所有必须的ansible角色
(kolla) [root@openstack01 ~]# ansible-galaxy collection install git+https://opendev.org/openstack/ansible-collection-kolla,stable/2024.2

下载kolla-ansible源码

(kolla) [root@openstack01 ~]# git clone https://github.com/openstack/kolla-ansible.git
(kolla) [root@openstack01 kolla-ansible]# git branch -a
* masterremotes/origin/HEAD -> origin/masterremotes/origin/masterremotes/origin/stable/2024.2remotes/origin/stable/2025.1remotes/origin/stable/2025.2remotes/origin/unmaintained/2024.1
(kolla) [root@openstack01 kolla-ansible]# git checkout stable/2024.2 
Branch 'stable/2024.2' set up to track remote branch 'stable/2024.2' from 'origin'.
Switched to a new branch 'stable/2024.2'

生成配置文件

(kolla) [root@openstack01 kolla-ansible]# mkdir /etc/kolla
(kolla) [root@openstack01 kolla-ansible]# cd 
(kolla) [root@openstack01 ~]# cp kolla-ansible/etc/kolla/* /etc/kolla/
(kolla) [root@openstack01 ~]# cp kolla-ansible/ansible/inventory/multinode /etc/kolla# globals全局配置文件,告诉怎么安装opensatck
(kolla) [root@openstack01 ~]# ls /etc/kolla/
globals.yml  multinode  passwords.yml# multinode 主机清单# passwords.yml 保存 OpenStack 所有组件的密码、密钥、令牌

修改主机清单文件

(kolla) [root@openstack01 ~]# vim /etc/kolla/multinode
[control]
openstack01
openstack02
openstack03[network]
openstack01
openstack02
openstack03[compute]
openstack01
openstack02
openstack03[monitoring]
openstack01[storage]
openstack01
openstack02
openstack03

修改globals.yml文件

(kolla) [root@openstack01 kolla]# grep -Ev "^$|#" globals.yml 
---
workaround_ansible_issue_8743: yes
node_config: "/etc/kolla"
kolla_base_distro: "rocky"
openstack_release: "2024.2"
node_custom_config: "{{ node_config }}/config"
kolla_internal_vip_address: "192.168.50.40" 
docker_registry: quay.nju.edu.cn
network_interface: "ens33" 
neutron_external_interface: "ens36" 
neutron_plugin_agent: "openvswitch"
enable_openstack_core: "yes"
enable_hacluster: "no"
enable_haproxy: "no"
enable_keepalived: "{{ enable_haproxy | bool }}"
enable_keystone: "{{ enable_openstack_core | bool }}"
enable_mariadb: "yes"
enable_memcached: "yes"
enable_neutron: "{{ enable_openstack_core | bool }}"
enable_nova: "{{ enable_openstack_core | bool }}"
enable_rabbitmq: "{{ 'yes' if om_rpc_transport == 'rabbit' or om_notify_transport == 'rabbit' else 'no' }}"
enable_cinder: "no"
cinder_volume_group: "cinder-volumes"
nova_compute_virt_type: "kvm"

选项补充

填充密码文件

# 会将这个文件的权限改成只有root能访问
(kolla) [root@openstack01 kolla]# kolla-genpwd 
WARNING: Passwords file "/etc/kolla/passwords.yml" is world-readable. The permissions will be changed.

3、配置所有节点python依赖

kolla-ansible部署openstack,在所有openstack节点上需要部署相应的python依赖包。这些依赖包可以从部署节点上获得:

(kolla) [root@openstack01 ~]# pip3 freeze > /tmp/requirements.txt

需要删除这个文件的2行,其他节点不需要安装ansible,kolla-ansible

ansible-core==2.15.12
kolla-ansible==18.0.0
(kolla) [root@openstack01 ~]# scp /tmp/requirements.txt openstack02:/tmp
(kolla) [root@openstack01 ~]# scp /tmp/requirements.txt openstack03:/tmp

需要说明的是,这些包需要在所有节点安装,包括控制节点。且不可以安装在python虚拟环境中:

# 退出虚拟环境
(kolla) [root@openstack01 ~]# deactivate [root@openstack01 ~]# pip3 install -r /tmp/requirements.txt
[root@openstack02 ~]# pip3 install -r /tmp/requirements.txt
[root@openstack03 ~]# pip3 install -r /tmp/requirements.txt

4、执行koll-ansible部署

问题

安装集合的时候报错

vi /root/.venv/kolla/share/kolla-ansible/requirements.yml
修改版本为2024.2
http://www.jsqmd.com/news/673135/

相关文章:

  • 驾考宝典在线考试系统
  • AI驱动浏览器自动化测试:零脚本实操指南
  • Zotero浏览器插件:终极免费文献管理解决方案的完整指南
  • #官方认证|2026年江浙沪长三角一大正规停车场公司排名,骏通智能综合实力遥遥领先 - 十大品牌榜
  • 为什么顶尖科技公司已在内部停用“程序员”职称?2026奇点大会披露的4项能力淘汰清单
  • deepseek对于图片中坐标位置判定效果非常差
  • 2026年激光切割机厂家TOP推荐:管材/板管一体激光切割机品牌,高效精密加工解决方案深度解析 - 品牌推荐用户报道者
  • 第二篇:Vibe Coding 深度解析(二):支撑范式落地的核心技术架构文章
  • 蓝桥杯题解
  • 运维开发宝典009-高级权限、文件属性chattr、进程掩码umask
  • Windows Cleaner:如何通过3个简单步骤解决C盘空间不足和系统卡顿问题
  • 济南顺宇安装:高空车租赁、升降车租赁、曲臂车、路灯车租赁等专业服务商 - 品牌企业推荐师(官方)
  • 高效实现PPTX转HTML的纯前端技术方案
  • 租天下实业携手前海周大福金融大厦,0佣金服务赋能湾区总部选址 - 品牌企业推荐师(官方)
  • 让腰围持续下降的 4 个方法,巨有效
  • 告别CANalyzer!用Python+ZCANPro/ECAN Tools也能玩转CAN总线数据分析与自动化测试
  • AMD处理器深度调试指南:5步掌握SMUDebugTool核心调优技巧
  • Transformer架构原理的菜鸟学习之路02——位置编码(Positional encoding)
  • 基于Verilog开发的FPGA密码锁工程:矩阵键盘输入按键值、修改密码和开锁功能,带Quar...
  • #官方认证|2026年长三角三大正规人脸门禁公司排名 上海苏州嘉兴等地 骏通智能综合实力遥遥领先 - 十大品牌榜
  • 新手必看:FastAPI 参数接收的正确姿势(路径 / 查询 / 请求体全解析)
  • ODF配线架安装全流程实录:72芯高密度布线+光纤熔接避雷手册
  • 别再死记定义了!用Python可视化带你直观理解‘一致连续’与‘连续’的天壤之别
  • D3KeyHelper:暗黑破坏神3自动化战斗宏工具完全指南
  • 终极DayZ离线模组指南:如何免费畅享完整单机体验
  • 安装 Docker on AlmaLinux 8
  • 终极指南:如何用VTube Studio API打造智能虚拟主播互动系统 [特殊字符]
  • 算法题(滑动窗口、动态规划)
  • HardSwish激活函数改进YOLOv26高效非线性映射与计算优化双重突破
  • 终极指南:如何免费解锁惠普游戏本全部性能潜力