ansible与kolla-ansible部署OpenStack多节点
ansible https://zerosun.top/2019/08/12/openstack-deploying-by-OSA/
https://www.bookstack.cn/read/deployopenstackwithpuppet/deployment_tool-fuel.md
https://www.bookstack.cn/read/deployopenstackwithpuppet/deployment_tool-osa.md
推荐 https://www.bookstack.cn/read/deployopenstackwithpuppet/deployment_tool-packstack.md
三个OpenStack自动化部署工具:Devstack,OSA,Kolla对比_筋斗云计算-程序员宝宝_openstack自动化部署工具
特色 |
劣势 |
|
Devstack |
安装简单 |
不支持添加和减少单个组件。只能将整个环境卸载再重新安装 |
OSA (OpenStack-Ansible) |
基于ansible和LXC容器部署OpenStack |
|
Kolla |
基于ansible和Docker容器部署OpenStack 所需软件包被封装到专门的Docker镜像中,安装速度很快,半个钟头左右就能安装完成。 最新的Ocata 版本的OpenStack使用Kubernetes 平台来管理容器 |
后2个部署工具都支持容器,容器的好处就是方便升级,方便运维等。
Docker容器和LXC容器的最大区别是Docker容器迁移更容易。
kolla-ansible如下
1、准备环境:
物理机或者虚拟机三台(本文使用CentOS7系统,虚拟机环境)
一台deploy,两块网卡(ens192、ens224)
一台control+network,两块网卡(ens192、ens224)
一台compute+storage,三块网卡(ens192、ens224、ens256)
compute计算节点加一块硬盘
1.1 网络配置
- deploy:
vim /etc/sysconfig/network-scripts/ifcfg-ens192 TYPE=Ethernet BOOTPROTO=static DEVICE=ens192 ONBOOT=yes IPADDR=10.24.3.12 NETMASK=255.255.255.0 GATEWAY=10.24.3.254
ens-224网卡配置三个子接口(xvlan),分别为:
- ens-224.10
vim /etc/sysconfig/network-scripts/ifcfg-ens224.20
VLAN=yes
DEVICE=ens224.20
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.20.20
NETMASK=255.255.255.0
vim /etc/sysconfig/network-scripts/ifcfg-vlan20
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan20
PHYSDEV=ens224
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.20.20
NETMASK=255.255.255.0
- 3ns-224.30
# 外网网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens256
DEVICE=ens256
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
- compute:
ens192和ens224配置和control一样,ens224配置三个子接口,子接口ip网段,VLAN不换,只更改IP:
systemctl restart network
ip a 查看网卡信息
ping命令检测,主机是否连通,例:[root@compute ~]# ping 192.168.20.10
1.3 compute新添加硬盘分区初始化
yum install -y epel-release
yum install -y python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
2.2 安装部署工具【ansible、kolla-ansible】
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
2.4 将all-in-one和multinode库存文件复制到当前目录。
git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible
3.2 Kolla-ansible在etc/kolla中保存配置文件(globals.yml和passwords.yml)将配置文件复制到/etc/kolla目录
cp kolla-ansible/ansible/inventory/* .
4、准备部署
4.1 部署中使用的密码存储在/etc/kolla/passwords.yml文件中。通过运行下面命令生成随机密码:
vim /etc/kolla/passwords.yml
keystone_admin_password:admin
4.2 配置multinode文件
ansible -m ping all
结果:
[root@deploy /]# ansible -m ping all
10.24.3.11 | SUCCESS => {
"changed": false,
"ping": "pong"
}
10.24.3.12 | SUCCESS => {
"changed": false,
"ping": "pong"
}
4.3 编辑globals.yml配置文件
''' 1、带有kolla的引导服务器部署依赖关系'''
kolla-ansible -i ./multinode bootstrap-servers
''' 2、对主机执行预部署检查'''
kolla-ansible -i ./multinode prechecks
''' 3、执行OpenStack部署'''
kolla-ansible -i ./multinode deploy
6、使用OpenStack
6.1 OpenStack需要一个openrc文件,其中设置了admin用户的凭证。
要生成这个文件运行以下命令:
pip install python-openstackclient python-glanceclient python-neutronclient
6.3 运行脚本创建示例网络,图像等
. /usr/share/kolla-ansible/init-runonce
打开浏览器输入10.24.3.120(外部VIP),用户admin ,密码admin 可登录openstack_dashboard,如图所示:

作者:不二啊1
链接:https://www.jianshu.com/p/6b7ebcb82196
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。