官網地址https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
參考:https://www.jianshu.com/p/e0e470f9fd4d
虛擬機多節點:https://www.cnblogs.com/linkenpark/p/9542071.html
其他多節點:https://blog.csdn.net/wzlsunice88/article/details/79241489
1、准備環境:
- 物理機或者虛擬機三台(本文使用公有雲的CentOS7系統)
- control節點 2個網絡接口:
- eth0:192.168.31.3 eth1:192.168.31.4 外網:10.10.1.1
- compute節點:
- eth0:192.168.31.2
- 也是cinder節點:添加一塊硬盤配置lvm存儲
- 8GB主內存、40GB磁盤空間(視情況而定)
2、准備部署:
2.1 服務器配置IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network # 重啟網絡
2.2 安裝依賴關系
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 安裝ansible
yum install ansible
2.4 安裝kolla-ansible,用來部署
pip install kolla-ansible
2.5 centos7下將globals.yml和passwords.yml復制到/etc/kolla目錄
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 准備在主機上部署OpenStack(如果是多節點需要配置multinode文件)
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、開始部署
單節點啟動:
4.1.1、帶有kolla的引導服務器部署依賴關系 kolla-ansible -i ./all-in-one bootstrap-servers 4.1.2、對主機執行預部署檢查 kolla-ansible -i ./all-in-one prechecks 4.1.3、執行OpenStack部署 kolla-ansible -i ./all-in-one deploy
多節點啟動:
4.2.1、帶有kolla的引導服務器部署依賴關系
kolla-ansible -i ./multinode bootstrap-servers
4.2.2、對主機執行預部署檢查
kolla-ansible -i ./multinode prechecks
4.2.3、執行OpenStack部署
kolla-ansible -i ./multinode
deploy
5、使用OpenStack
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
打開瀏覽器輸入機器公有雲外網ip 18.68.x.x,用戶admin ,密碼admin 可登錄openstack_dashboard,如圖所示:

重裝記得,刪除干凈,不然報錯