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