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),分别为:

  1. 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

  1. 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,如图所示:

  openstack_dashboard.png

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

kolla-ansible部署OpenStack多节点