發布時間: 2021-06-28 09:35:57
本ansible部署openstack教程指南提供分步說明,以在裸機服務器或虛擬機上使用Kolla Ansible部署OpenStack。
推薦閱讀
在運行Kolla-Ansible之前學習Ansible 和Docker的基礎知識是有益的。
主機要求
主機必須滿足以下最低要求:
2個網絡接口
8GB主內存
40GB磁盤空間
有關支持的主機操作系統的詳細信息,請參閱支持列表。
安裝依賴
通常,在本節中使用系統軟件包管理器的命令必須以root特權運行。
1.安裝Python構建依賴項:
對于CentOS或RHEL 8,運行:
sudo dnf install -y python3-devel libffi-devel gcc openssl-devel python3-libselinux sudo yum remove -y docker docker-common docker-selinux docker-engine sudo yum install -y yum-utils device-mapper-persistent-data lvm2 epel-release wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce -y
安裝依賴
1.安裝pip
對于CentOS或RHEL,運行:
sudo dnf install python3-pip -y
2.確保已安裝最新版本的pip:
mkdir /root/.pip vim /root/.pip/pip.conf [global] index-url = https://mirrors.huaweicloud.com/repository/pypi/simple trusted-host = mirrors.huaweicloud.com sudo pip3 install -U pip
3.安裝Ansible。Kolla Ansible至少需要Ansible2.9并最多支持2.9。
對于CentOS或RHEL,運行:
pip3 install 'ansible<2.10' dnf install ansible -y
安裝Kolla-ansible進行部署或評估
1.使用安裝kolla-ansible及其依賴項pip。
sudo pip3 install kolla-ansible
2.創建/etc/kolla目錄。
sudo mkdir -p /etc/kolla sudo chown $USER:$USER /etc/kolla
3.復制globals.yml并passwords.yml到/etc/kolla目錄。
請運行:
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
將文件復制all-in-one并multinode清點到當前目錄。
請運行:
cp /usr/local/share/kolla-ansible/ansible/inventory/* .
為了獲得最佳結果,應針對您的環境調整Ansible配置。例如,將以下選項添加到Ansible配置文件中 /etc/ansible/ansible.cfg:
[defaults] host_key_checking=False pipelining=True forks=100
準備初始配置
庫存
下一步是準備我們的庫存文件。庫存是一個Ansible文件,我們在其中指定主機及其所屬的組。我們可以使用它來定義節點角色和訪問憑據。
克拉(Kolla)-Ansible配備all-in-one和清單文件。請編輯all-in-one清單:
1.編輯all-in-one環境的連接詳細信息的第一部分
:1,$s/localhost/controller/ :1,$s/ansible_connection=local//
Kolla密碼
我們部署中使用的密碼存儲在/etc/kolla/passwords.yml 文件中。在此文件中,所有密碼均為空白,必須手動填充或通過運行隨機密碼生成器來填充:
要進行部署或評估,請運行:
kolla-genpwd
要進行開發,請運行:
159 keystone_admin_password: MvzlnjVBKfZlgCRLfJ5R1xPIeC6kDtMzqh0hrB4w 改為 keystone_admin_password: Huawei
克拉(Kolla)globals.yml
globals.yml是Kolla-Ansible的主要配置文件。部署Kolla-Ansible需要一些選項:
圖片選項
用戶必須指定將用于我們的部署的映像。在本指南中,將使用DockerHub提供的預構建映像。要了解有關構建機制的更多信息,請參閱構建容器映像。
Kolla在容器中提供了幾種Linux發行版的選擇:
對于新手,我們建議使用CentOS 8或Ubuntu 20.04。
kolla_base_distro: "centos"
下一個“類型”的安裝需要配置。選擇是:
二進制的
使用apt或dnf之類的存儲庫
來源
使用原始源檔案,git存儲庫或本地源目錄
筆記
這僅影響OpenStack服務?;A設施服務始終是“二進制”的。
kolla_install_type: "binary"
聯網
Kolla-Ansible需要設置一些聯網選項。我們需要設置OpenStack使用的網絡接口。
要設置的第一個接口是“ network_interface”。這是多個管理型網絡的默認接口。
network_interface: "eth0"
所需的第二個接口專用于Neutron外部(或公共)網絡,可以是VLAN或扁平的,取決于網絡的創建方式。該接口應該是活動的,沒有IP地址。如果沒有,實例將無法訪問外部網絡。
neutron_external_interface: "eth1"
要了解有關網絡配置的更多信息,請參閱 網絡概述。
接下來,我們需要為管理流量提供浮動IP。此IP將通過keepalived進行管理以提供高可用性,并且應將其設置為 在連接到我們的管理網絡中不使用的地址 network_interface。
kolla_internal_vip_address: "10.1.0.250"
啟用其他服務
默認情況下,Kolla-Ansible提供一個裸計算套件,但是它確實提供了對大量其他服務的支持。要啟用它們,請設置 enable_*為“是”。例如,要啟用塊存儲服務:
enable_cinder: "yes"
Kolla現在支持許多OpenStack服務,其中有 可用服務的列表。有關服務配置的更多信息,請參考《 服務參考指南》。
多個全局文件
為了更精細地控制,globals.yml現在可以使用多個yml文件來啟用主文件中的任何選項 。只需globals.d在下面創建一個目錄/etc/kolla/,并將所有相關*.yml文件放在其中。該kolla-ansible腳本將自動將所有它們添加為ansible-playbook 命令的參數。
例如,如果操作員希望在初始部署的后期而不啟用現有globals.yml文件的情況下啟用cinder及其所有選項,則是一個示例用例。這可以通過使用單獨的cinder.yml文件放置在/etc/kolla/globals.d/ 目錄下并在其中添加所有相關選項來實現。
虛擬環境
建議使用虛擬環境在遠程主機上執行任務。這涵蓋了 虛擬環境。
部署
設置完成后,我們可以進入部署階段。首先,我們需要設置基本的主機級別依賴關系,例如docker。
Kolla-Ansible提供了一個劇本,它將以正確的版本安裝所有必需的服務。
以下假定使用multinode清單。如果使用其他庫存(例如)all-in-one,請相應替換-i參數。
要進行部署或評估,請運行:
具有kolla的Bootstrap服務器部署依賴項:
kolla-ansible -i ./multinode bootstrap-servers
對主機進行部署前檢查:
kolla-ansible -i ./multinode prechecks
最后,繼續進行實際的OpenStack部署:
kolla-ansible -i ./multinode deploy
當這本劇本結束時,OpenStack應該已經啟動,正在運行并且可以正常運行!如果在執行過程中發生錯誤,請參閱《 故障排除指南》。
使用OpenStack的
安裝OpenStack CLI客戶端:
pip3 install python3-openstackclient
OpenStack需要一個openrc文件,在該文件中設置了管理員用戶的憑據。要生成此文件:
要進行部署或評估,請運行:
kolla-ansible post-deploy . /etc/kolla/admin-openrc.sh
根據您安裝Kolla-Ansible的方式,有一個腳本可以創建示例網絡,圖像等。
對于部署或評估,請運行init-runonce腳本:
/usr/local/share/kolla-ansible/init-runonce
上一篇: 什么是組播-網工必會的組播基礎概念詳解
下一篇: tar命令進行文件的歸檔和壓縮