溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

kolla-ansible如何部署openstack的ocata

發(fā)布時(shí)間:2021-11-08 10:28:41 來(lái)源:億速云 閱讀:295 作者:小新 欄目:云計(jì)算

小編給大家分享一下kolla-ansible如何部署openstack的ocata,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

環(huán)境(離線部署https://my.oschina.net/u/857184/blog/1526474)

操作系統(tǒng)

CentOS Linux release 7.3.1611 (Core)

內(nèi)核信息

Linux 3.10.0-514.el7.x86_64

硬件

虛擬機(jī)一臺(tái)

網(wǎng)卡

2塊

內(nèi)存

8G  //all-in-one建議16G

CPU

4 VCPU

安裝epel-release ;安裝python-pip,升級(jí)到最新

yum install epel-release

yum install python-pip

pip install -U pip

安裝依賴包

yum install python-devel libffi-devel gcc openssl-devel libselinux-python

安裝ansible

yum install ansible

安裝docker

curl -sSL https://get.docker.io | bash

配置docker服務(wù),這里的配置,根據(jù)官網(wǎng)的提示是為了防止kolla-ansible部署neutron-dhcp-agent 容器時(shí)候拋出 APIError/HTTPError

# Create the drop-in unit directory for docker.service

mkdir -p /etc/systemd/system/docker.service.d

# Create the drop-in unit file

tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'

[Service]

MountFlags=shared

EOF

重啟dockers服務(wù)

systemctl daemon-reload

systemctl restart docker

安裝docker python

pip install -U docker

安裝 升級(jí)python jinja版本

pip install -U Jinja2

安裝ntp

yum install ntp

systemctl enable ntpd.service

systemctl start ntpd.service

關(guān)閉libvirtd服務(wù)

系統(tǒng)可能默認(rèn)開(kāi)啟了libvirtd服務(wù),需要關(guān)閉

systemctl stop libvirtd.service

systemctl disable libvirtd.service

安裝kolla-ansible

運(yùn)行這個(gè)命令會(huì)安裝最新穩(wěn)定版本的kolla-ansible

pip install kolla-ansible

復(fù)制globals.yml 和 passwords.yml 到 /etc

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/

復(fù)制inventory 文件 (all-in-one 和 multinode) 到 當(dāng)前目錄

cp /usr/share/kolla-ansible/ansible/inventory/* .

配置docker本地鏡像倉(cāng)庫(kù)

默認(rèn)Docker的Registry是使用5000端口,對(duì)于OpenStack來(lái)說(shuō),有端口沖突,所以需要改成4000。Pull并啟動(dòng)registry鏡像。

docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \

--restart=always --name registry registry:2.3

說(shuō)明:

Docker容器啟動(dòng)的時(shí)候,如果要掛載宿主機(jī)的一個(gè)目錄,可以用-v參數(shù)指定;這里表示將宿主機(jī)的

/opt/registry目錄掛在到容器的/var/lib/registry目錄

-p 4000:5000 表示將宿主機(jī)的4000映射到容器的5000端口

--name registry 是給這個(gè)容器起名為registry

registry:2.3表示docker拉取的鏡像是版本為2.3的registry

將之前下載的kolla鏡像解壓到/opt/registry目錄中

tar zxf centos-binary-registry-ocata.tar.gz -C /opt/registry/

查看鏡像倉(cāng)庫(kù)是否正常,如果返回一個(gè)json數(shù)據(jù)表示正常工作,這里的ip替換為docker倉(cāng)庫(kù)所在的主機(jī)IP

curl http://xxx.xxx.xxx.xxx:4000/v2/_catalog

有時(shí)候會(huì)在準(zhǔn)備運(yùn)行kolla-ansible deploy -i出現(xiàn)這種報(bào)錯(cuò)

Error:server gave HTTP response to HTTPS client

需要配置,這里的ip就是registry所在的主機(jī)ip

tee /etc/docker/daemon.json <<-'EOF'

{ "insecure-registries":["xxx.xxx.xxx.xxx:4000"]}

EOF

重啟Docker服務(wù)

systemctl daemon-reload

systemctl restart docker

配置kvm/qemu

檢查系統(tǒng)是否支持硬件加速,如果返回為0,那么只能使用qemu

egrep -c '(vmx|svm)' /proc/cpuinfo

如果是在虛擬機(jī)里安裝Kolla,希望可以在OpenStack平臺(tái)上創(chuàng)建虛擬機(jī),那么你需要把virt_type=qemu,默認(rèn)是KVM。

mkdir -p /etc/kolla/config/nova

cat << EOF > /etc/kolla/config/nova/nova-compute.conf

[libvirt]

virt_type=qemu

EOF

部署kolla

生成密碼文件

kolla-genpwd

行這個(gè)命令,將會(huì)為/etc/kolla/passwords.yml的配置項(xiàng)填充隨機(jī)生成的密碼;

可以在運(yùn)行這個(gè)命令后,根據(jù)自己需要修改passwords.yml,設(shè)置自己的密碼

例如

編輯 /etc/kolla/passwords.yml文件,配置keystone管理員用戶的密碼。

keystone_admin_password: admin

配置/etc/kolla/globals.yml

kolla_internal_vip_address: " 172.16.X.225"   //訪問(wèn)Dashboard的地址

docker_registry: " 172.16.X.225:4000"

docker_namespace: "lokolla"

network_interface: "eth0"                    //IP地址為172.16.X.225

neutron_external_interface: "eth2"             //該網(wǎng)卡不配置IP地址

openstack_release: “4.0.3”

kolla_base_distro: "centos"              //默認(rèn)為centos

kolla_install_type: "binary"             //默認(rèn)為binary

說(shuō)明:

kolla_internal_vip_address:虛擬ip( VIP)會(huì)用于和 keepalived

docker_registry: 指定這個(gè)配置為本地倉(cāng)庫(kù)的話,kolla會(huì)從本地倉(cāng)庫(kù)下載鏡像

docker_namespace: 指定了倉(cāng)庫(kù)的名稱空間

network_interface: 指定當(dāng)前用于kolla服務(wù)所在的管理主機(jī)的IP

neutron_external_interface: 用于neutron容器部署

openstack_release: 指定了kolla部署容器的時(shí)候從倉(cāng)庫(kù)獲取的鏡像版本,參考3.   Kolla鏡像獲取

由于部署的是all-in-one單節(jié)點(diǎn)

編輯/usr/share/kolla-ansible/ansible/group_vars/all.yml

文件,設(shè)置enable_haproxy為no

enable_haproxy: "no"

開(kāi)始部署

驗(yàn)證環(huán)境是否符合kolla要求

進(jìn)入/root(即 復(fù)制inventory 文件 (all-in-one 和 multinode) 的目標(biāo)目錄)

kolla-ansible prechecks -i  all-in-one

部署openstack

kolla-ansible deploy -i all-in-one

等待結(jié)束

結(jié)束后查看docker容器

docker ps

驗(yàn)證部署結(jié)果

創(chuàng)建環(huán)境變量文件

kolla-ansible post-deploy

這樣就創(chuàng)建 了/etc/kolla/admin-openrc.sh 環(huán)境變量文件。

安裝OpenStack client端

pip install python-openstackclient

這樣就可以通過(guò)命令行執(zhí)行openstack相關(guān)命令

整理的后的命令shell腳本:https://github.com/jannanlo/tools/blob/master/ocata-all-in-on.sh

以上是“kolla-ansible如何部署openstack的ocata”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI