使用Kolla-Ansible部署OpenStack环境部署

2023-05-16

部署环境

角色机器名IP

系统

计算节点

OpenStackControl

ens3

172.28.191.99

ens4

192.168.1.156

CentOS8.3
控制节点OpenStackCompute

ens3

172.28.191.88

ens4

192.168.1.177

CentOS8.3
部署节点localhosts(不重要)

ens3

172.28.191.55

CentOS8.3

注:计算节点和控制节点中不要包含 ‘_’

之后的就是官网的kolla-ansible的安装

yum install epel-release
yum install python-pip
pip install -U pip

yum install python-devel libffi-devel gcc openssl-devel libselinux-python

yum install ansible

pip install kolla-ansible

(官网上是这样的)
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/* .

(我的是这样的)
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/local/share/kolla-ansible/ansible/inventory/* .

git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible

pip install -r kolla/requirements.txt
pip install -r kolla-ansible/requirements.txt
cp kolla-ansible/ansible/inventory/* .

使用pip安装的时候可能会出现些依赖,通过报错进行修正就行了

官方网址:OpenStack Docs: Quick Start

因为是多节点的OpenStack,所以使用文件multinode 。

[control]
172.28.191.99 ansible_user=root ansible_password=foobar ansible_become=true
# Ansible supports syntax like [10:12] - that means 10, 11 and 12.
# Become clause means "use sudo".

[network:children]
control
# when you specify group_name:children, it will use contents of group specified.

[compute]
172.28.191.88 ansible_user=root ansible_password=foobar ansible_become=true

[monitoring]
compute
# This group is for monitoring node.
# Fill it with one of the controllers' IP address or some others.

[storage:children]
compute

[deployment]
localhost       ansible_connection=local become=true
# use localhost and sudo

首先确认各个节点是通畅的

ansible -i multinode all -m ping

手动为kolla创建密码

kolla-genpwd

其次就是修改globals.yml文档了

kolla_base_distro: "centos"
kolla_install_type: "binary"
openstack_release: "victoria"
kolla_internal_vip_address: "172.28.191.99"
network_interface: "ens3"
neutron_external_interface: "ens4"
enable_haproxy: "no"
enable_keepalived: "{{ enable_haproxy | bool }}"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"
cinder_volume_group: "cinder-volumes"

这里需要注意一点,组件cinder是管理集群的存储的,所以必须enable,但是在使用enable_cinder的时候,必须确保机器上存在一个cinder-volumes(默认,可在globals.yml修改)的卷组。

创建卷组的方式

pvcreate /dev/sdb /dev/sdc
vgcreate cinder-volumes /dev/sdb /dev/sdc

注意:磁盘修改卷组很危险,切记识别好准备好的磁盘

开始部署OpenStack

kolla-ansible -i ./multinode bootstrap-servers

在部署的时候可能会遇到相关的组件冲突,可以百度相关冲突进行解决

我这边是在

TASK [baremetal : Install RPM packages]

进行报错,因为podman buildah和docker冲突了,所以执行yum erase podman buildah -y解决这个问题,其他冲突可以类比这个

kolla-ansible -i ./multinode prechecks

部署的事前检查,其中我这边问题是

TASK [prechecks : Fail if a host NTP daemon is not running],

由于控制节点和计算节点时间不同步的原因,解决方案是

yum install chrony

ntp server:
vim /etc/chrony.conf 

allow 192.168.0.0/24
server ntp1.aliyun.com iburst

[root@localhost ~]# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? sv1.ggsrv.de                  2   6     1     0  -88239s[-88239s] +/-   76ms
^? 119.28.183.184                2   6     1     1  -88239s[-88239s] +/-   50ms

之后再计算节点的时候出现

TASK [nova-cell : Checking that libvirt is not running]

解决方法是

rm /var/run/libvirt/libvirt-sock -f

进行部署

kolla-ansible -i ./multinode deploy

期间可能会出现很多问题,耐心解决吧,有一个问题我需要提一下

在deploy完毕之后检查容器的运行状态,发现了kolla/centos-binary-horizon这个容器一直重启,导致了无法从web访问OpenStack,通过查验容器日志,以及kolla-ansible的源代码,发现在容器中有三个环境变量没有设定,解决方案如下

修改文件/usr/local/share/kolla-ansible/ansible/roles/horizon/defaults/main.yml

在
project_name: "horizon"

horizon_services:
  horizon:
    container_name: horizon
    group: horizon
    enabled: true
    image: "{{ horizon_image_full }}"
    environment:
      ENABLE_BLAZAR: "{{ 'yes' if enable_horizon_blazar | bool else 'no' }}"
.....
中追加三个参数定义
project_name: "horizon"

horizon_services:
  horizon:
    container_name: horizon
    group: horizon
    enabled: true
    image: "{{ horizon_image_full }}"
    environment:
      ENABLE_BLAZAR: "{{ 'yes' if enable_horizon_blazar | bool else 'no' }}"
      ENABLE_KARBOR: "no"
      ENABLE_QINLING: "no"
      ENABLE_SEARCHLIGHT: "no"
.....

容器就能够正常启动了

之后就是部署完毕之后的post-deploy

可以在部署节点做也可以都做

pip install python-openstackclient python-glanceclient python-neutronclient

kolla-ansible post-deploy
. /etc/kolla/admin-openrc.sh

初始化集群
会创建镜像,网络等
. /usr/share/kolla-ansible/init-runonce

可以通过web界面查看了

对于后续的使用问题,可以给我留言,我也是小白,可能我也不清楚,但是很乐意一起探讨。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Kolla-Ansible部署OpenStack环境部署 的相关文章

  • 浅谈SPN

    SPN 切片分组网络 xff0c 它是PTN的演进 xff0c 更多的是为5G传输网量身打造 5G中所谓的网络切片 是核心网网元的灵活组合 xff0c 构成适用于各种业务场景的切片网络 xff0c 例如无人驾驶对于高可靠低时延网络的需求 x
  • 【C语言】排序详解——冒泡排序

    前言 xff1a 冒泡排序可以说是排序系列中最简单也最基础的一种排序的方式 xff0c 尽管它十分的简单易懂 xff0c 但依旧会有一些小问题是大家可能忽略的 xff0c 因此我打算将不同排序分成单独的文章进行讲解 xff0c 这样既不会显
  • Android设备的各种唯一标识符 ID

    IMEI 只有Android手机才有 xff0c IMEI号是一串15位的号码 xff0c 比如像这样 359881030314356 span class token class name TelephonyManager span sp
  • R语言-管道函数

    符号 xff1a gt 这是管道操作 xff0c 其意思是将 gt 左边的对象传递给右边的函数 说明 xff1a xff05 gt xff05 来自dplyr包的管道函数 xff0c 其作用是将前一步的结果直接传参给下一步的函数 xff0c
  • NFS启动出错Restarting nfs-kernel-server (via systemctl): failed!

    之前NFS已经安装完毕 xff0c 并且能够正常运行 xff0c 今天运行时出现一下错误 sudo etc init d nfs kernel server restart Restarting nfs kernel server via
  • Uncaught TypeError: upload is not a function at HTMLInputElement.onchange

    js 中标签的id名称不能和方法名一样 xff0c lt input type 61 34 file 34 id 61 34 upload 34 onchange 61 34 upload 34 gt 改为 lt input type 61
  • 【COMSOLX光纤仿真学习笔记】

    COMSOLX光纤仿真学习笔记 一根光纤的建模仿真过程绘制几何结构添加材料添加物理场网格模式分析参数化扫描绘制图表一些常用命令和公式 一根光纤的建模仿真过程 首先要定义光纤的参数 xff0c 结构参数 xff0c 材料参数等等 xff0c
  • python-pip镜像源永久指定安装源

    每次临时指定源地址比较麻烦 xff0c 可以通过以下方式配置永久源 在主目录创建 pip文件夹 mkdir span class token operator span span class token operator span span
  • windows系统下搭建cloudreve网盘系统

    最近博主想搭建属于自己的网盘系统 xff0c 去github上看了一些开源项目 xff0c 比较对cloudreve感兴趣 xff0c 但是github的搭建步骤不全以及网上没有完整的搭建博文 xff0c 于是 xff0c 博主想自己搭建c
  • OpenStack----多节点部署安装,实操演示!!

    xff08 本地源 xff09 OpenStack多节点部署安装 xff0c 实操演示 xff01 xff01 文章目录 前言一 xff1a 实验环境1 1 xff1a 环境介绍1 2 xff1a 实验拓扑图1 3 xff1a 实验目的 二
  • mysql同一个事务中先插入再查询与先删除再查询结果分析

    一 xff0c 现象展示 1 先插入再查询 BEGIN INSERT INTO video CREATE TIME UPDATE TIME VERSION VID VIDEO NAME SPEED RATE HORIZONTAL VERTI
  • WebAssembly 与 Rust 编程系列06 Rust模块与JavaScript交互

    WebAssembly 与 Rust 编程系列06 Rust模块与JavaScript交互 About 简介 上一篇文章 WebAssembly 与 Rust 编程系列05 Rust编写wasm模块 我们介绍了最简单的 Rust 导出was
  • POI 实现合并单元格以及列自适应宽度

    POI是apache提供的一个读写Excel文档的开源组件 xff0c 在操作excel时常要合并单元格 xff0c 合并单元格的方法是 xff1a sheet addMergedRegion new CellRangeAddress 1
  • 信息学奥赛一本通 1049:晶晶赴约会 | OpenJudge NOI 1.4 11

    题目链接 ybt 1049 xff1a 晶晶赴约会 OpenJudge NOI 1 4 11 晶晶赴约会 题目考点 1 逻辑运算符 xff1a 或 2 if else语句 3 三目运算符 解题思路 如果看展览那天的星期是周一 周三或周五 x
  • OpenStack Ussuri在Ubuntu20.04LTS、Ubuntu18.04LTS上GA

    紧跟OpenStack新版本Ussuri的发布 xff0c Canonical宣布了OpenStack Ussuri在Ubuntu20 04LTS和Ubuntu18 04LTS上GA 新的OpenStack上游版本最显著的增强是围绕Open
  • kali各种攻击手法笔记

    kali Linux笔记 xff1a 1 攻击mac flood 命令 xff1a macof 2 攻击DOS xff08 dhcp food xff09 命令 xff1a yersinia G 3 DOS攻击 TCP SYN flood
  • LFTP连接FTPS

    参考 xff1a https www cnblogs com wangtaobiu p 14240171 html https linux cn article 5460 1 html http www voidcn com article
  • centos7.9 更改yum 源 (联网与无网)

    一 改本地源为阿里源 xff08 联网 xff09 参考 xff1a https blog csdn net ctypyb2002 article details 80635924 1 设置 aliyun 的 yum 源 先备份 span
  • yum安装出现Error downloading packages错误及解决方法

    一 问题出现 span class token comment yum y install git span 显示 xff1a Error downloading packages 清理yum缓存和建立yum缓存后 xff0c 还是不行 s
  • Linux单个用户配置安装SFTP

    参考 xff1a https www cnblogs com bky185392793 p 7365809 html 一 添加用户和组 span class token function groupadd span span class t

随机推荐