Kolla安装OpenStack多节点

服务器准备

准备两台或多台的双网卡服务,注意一定是双网卡。否则不能安装

主机名IP配置
OpenStack1enp0s3:192.168.3.204 。enp0s84C8G
OpenStack2enp0s3:192.168.3.205 。enp0s84C8G

环境准备

注意:每台服务器都需要安装

安装docker环境

Docker的安装在此就不做过多解释,如果需要请参考:https://www.toutiao.com/article/7137163018965746216/

每台服务器都需要安装Docker,并启动

安装python3环境

下载

https://registry.npmmirror.com/-/binary/python/3.9.13/Python-3.9.13.tgz

解压

tar -zxvf Python-3.9.13.tgz 

安装

首先进入Python3.9.13/Modules/Setup文件中取消SSL的注释,否则在后面会报错

vim Python3.9.13/Modules/Setup

img

生成makefile文件,并指定安装目录

cd Python-3.9.13
./configure --prefix=/usr/local/python39

img

安装是需要gcc和make,如果未安装请安装,已安装请忽略

make clean && make install

配置

修改环境变量。文件末尾追加:PATH=${PATH}:/usr/local/python39/bin/

vim /etc/profile
source /etc/profile

验证

img

关闭防火墙

关闭防火墙

systemctl status firewalld
systemctl stop firewalld 
systemctl disable firewalld
systemctl status firewalld

关闭selinux

getenforce
setenforce 0
sed -i 's/enforcing/disabled/g' /etc/selinux/config  
getenforce

修改主机名

hostnamectl set-hostname OpenStack

添加hosts

192.168.3.204 OpenStack1
192.168.3.205 OpenStack2

安装软件

下载 epel 源

yum -y install epel-release

安装 ansible 和 kolla-ansible

修改pip的源,加速下载

mkdir  ~/.pip
vi  ~/.pip/pip.conf
# 添加内容如下
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install --upgrade setuptools
pip3 install ansible==5.9.0
pip3 install kolla-ansible

配置

只需要在控制节点上配置即可

复制 ansible 的相关配置

cp -r /usr/local/python39/share/kolla-ansible/etc_examples/kolla /etc/ 
cp /usr/local/python39/share/kolla-ansible/ansible/inventory/* /etc/kolla/

生成OpenStack服务密码文件,并修改admin密码

kolla-genpwd
vim /etc/kolla/passwords.yml

img

自定义OpenStack中的部署项

编辑/etc/kolla/global.yml

#选择下载的基础镜像
kolla_base_distro: "centos"
#选择的安装方法,2选1。binary二进制安装,source源码安装
kolla_install_type: "source"
#选择OpenStack的版本标签,
openstack_release: "yoga"
#OpenStack内部管理网络地址,通过该IP访问OpenStack Web页面进行管理。如果启用了高可用,需要设置为VIP(浮动IP)
kolla_internal_vip_address: "192.168.199.171"
#OpenStack内部管理网络地址的网卡接口
network_interface: "enp0s3"
#此网卡应该在没有IP地址的情况下处于活动,如果不是,那么OpenStack云平台中的云主机实例将无法访问外部网络。(存在IP时br-ex桥接就不成功)
neutron_external_interface: "enp0s8"
#关闭高可用
enable_haproxy: "no"
#关闭cinder(块存储)
enable_cinder: "no"
#指定nova-compute守护进程使用的虚拟化技术。(kvm好像有点问题,大家可以试试,看看你们能不能过nova下载)nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理虚拟机实例的生命周期。
nova_compute_virt_type: "qemu" #在物理机上部署时无需设置(默认kvm) ,仅在虚拟机中部署kolla-ansible-openstack时设置qemu

互信任

添加信任是为了免密登录。如果不不能免密登录在下载镜像时会报错,无法把镜像下载到其他服务器中

ssh-keygen -t rsa # 一路回车即可,都是用默认的,如果需要设置密码请在显示密码后输入密码。
ssh-copy-id -i ~/.ssh/id_rsa root@OpenStack1
ssh-copy-id -i ~/.ssh/id_rsa root@OpenStack2

验证

是用ssh 密码登录OpenStack2服务中,如果没有出现输入密码则说明已经互信任了。

ssh OpenStack2

img

配置节点清单

img

  • all-in-one:OpenStack单节点的配置清单,如果是一个服务器则配置这个文件即可
  • globals.yml:OpenStack配置项
  • multinode:OpenStack多节点的配置清单,我们此次就是修改这个清单
  • passwords.yml:OpenStack各服务的密码。web界面的登录也是在这里修改。
vim /etc/kolla/multinode

img

只需要修改标记出来的这一部分即可,后面的都是默认。这些主机名必须可以从部署主机中解析

  • control:控制节点
  • network:网络节点
  • compute:计算节点
  • monitoring:监控节点
  • storage:存储节点
  • deployment:部署节点

安装 Ansible Galaxy 依赖

yum install git -y
cp /usr/local/python39/share/kolla-ansible/requirements.yml /usr/local/python39/
kolla-ansible install-deps

部署

先把系统的python替换成我们下载好的python3.9版本,否则后面执行会报错。但是替换python后无法使用yum命令,这个问题暂时未解决。

注意:这里的命令是每台服务器都需要执行

cp -r /usr/local/python39/share/kolla-ansible/ansible /usr/local/python39/
# 删除系统原先的 platform-python ,新建立软链接,换成自己安装的python
rm -rf /usr/libexec/platform-python
ln -s /usr/local/python39/bin/python3 /usr/libexec/platform-python
# 安装 docker 包
pip3 install docker 

预检查

kolla-ansible -i /etc/kolla/multinode prechecks

img

在检查过程中没有错误即可,如果有错误根据操作提示进行修改即可

拉取镜像

kolla-ansible -i /etc/kolla/multinode pull

img

拉取镜像的过程时间有点长。可以过一段时间再来查看。拉取完成后会有结果,和上面的预检查一样

部署

kolla-ansible -i /etc/kolla/multinode deploy

img

验证

img

相关文章

kolla 搭建 openstack 单机版云环境:https://www.jianshu.com/p/edb1abc67c4b

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值