官网地址https://docs.openstack.org/kolla-ansible/latest/user/quickstart.htmlhtml
参考:https://www.jianshu.com/p/e0e470f9fd4dnode
虚拟机多节点:https://www.cnblogs.com/linkenpark/p/9542071.htmlpython
其余多节点:https://blog.csdn.net/wzlsunice88/article/details/79241489linux
2.1 服务器配置IPgit
vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network # 重启网络
2.2 安装依赖关系docker
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
yum install docker -y
若是docker有冲突,须要卸载rpm -qa |grep docker ,而后yum remove -y *,最后重装1.12(最新1.13)yum install docker-engine-1.12.6*,启动服务systemctl start docker
查看cpu是否支持虚拟化
egrep -c '(vmx|svm)' /proc/cpuinfo
2.3 安装ansiblebootstrap
yum install ansible
2.4 安装kolla-ansible,用来部署vim
pip install kolla-ansible
2.5 centos7下将globals.yml和passwords.yml复制到/etc/kolla目录
centos
For CentOS, run:浏览器
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
For Ubuntu, run:
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/
2.6 将all-in-one和multinode库存文件复制到当前目录。
For CentOS, run:
cp /usr/share/kolla-ansible/ansible/inventory/* .
For Ubuntu, run:
cp /usr/local/share/kolla-ansible/ansible/inventory/* .
3.0 多节点须要配置multinode文件,单节点不须要:
3.0.1配置以下:
1 [control] 2 localhost ansible_connection=local 5 6 [network:children] 7 control 8 10 [compute] 11 compute主机名 13 [monitoring] 14 localhost ansible_connection=local
18 [storage:children]
compute
21 [deployment]
localhost ansible_connection=local
3.0.2 检查库存配置是否正确
ansible -i multinode all -m ping
3.1 部署中使用的密码存储在/etc/kolla/passwords.yml文件中。
经过运行下面命令生成随机密码:
kolla-genpwd
初始化以后,可手动更改keystone_admin_password密码(OpenStack登陆密码)
vim /etc/kolla/passwords.yml keystone_admin_password:admin
3.2 编辑globals.yml配置文件
单节点模式:
kolla_base_distro: "centos" # binary使用像apt或yum这样的软件仓库,source使用原始源代码归档,git存储库或本地源代码目录 kolla_install_type: "source" openstack_release: "rocky" # 使用的版本,master版本我尝试过启动不行 network_interface: "eth0" # OpenStack使用的网络接口 # 第二个接口专用于Neutron外部(或公共)网络,能够是vlan或flat,取决于网络的建立方式。 # 这个接口应该是活动的,没有IP地址。不然,实例将没法访问外部网络 neutron_external_interface: "eth1" kolla_internal_vip_address: "192.168.31.3" # et0 ip
多节点模式配置:
kolla_base_distro: "centos" # binary使用像apt或yum这样的软件仓库,source使用原始源代码归档,git存储库或本地源代码目录 kolla_install_type: "source" openstack_release: "rocky" # 使用的版本,master版本我尝试过启动不行
network_interface: "eth0" # OpenStack使用的网络接口 # 第二个接口专用于Neutron外部(或公共)网络,能够是vlan或flat,取决于网络的建立方式。 # 这个接口应该是活动的,没有IP地址。不然,实例将没法访问外部网络 neutron_external_interface: "eth1" kolla_internal_vip_address: "192.168.31.3" # control节点et0 ip
单节点启动:
4.1.一、带有kolla的引导服务器部署依赖关系 kolla-ansible -i ./all-in-one bootstrap-servers 4.1.二、对主机执行预部署检查 kolla-ansible -i ./all-in-one prechecks 4.1.三、执行OpenStack部署 kolla-ansible -i ./all-in-one deploy
多节点启动:
4.2.一、带有kolla的引导服务器部署依赖关系
kolla-ansible -i ./multinode bootstrap-servers
4.2.二、对主机执行预部署检查
kolla-ansible -i ./multinode prechecks
4.2.三、执行OpenStack部署
kolla-ansible -i ./multinode
deploy
4.2.一、带有kolla的引导服务器部署依赖关系
kolla-ansible -i ./multinode bootstrap-servers
4.2.二、对主机执行预部署检查
kolla-ansible -i ./multinode prechecks
4.2.三、执行OpenStack部署
kolla-ansible -i ./multinode
deploymultinode
multinode
5.1 OpenStack须要一个openrc文件,其中设置了admin用户的凭证。
要生成这个文件运行如下命令:
kolla-ansible post-deploy . /etc/kolla/admin-openrc.sh
5.2 安装基本的OpenStack CLI客户端:
pip install python-openstackclient python-glanceclient python-neutronclient
5.3 运行脚本建立示例网络,图像等
. /usr/share/kolla-ansible/init-runonce
重装记得,删除干净,否则报错