您好,登錄后才能下訂單哦!
小編給大家分享一下kolla-ansible如何部署openstack的ocata,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
操作系統 | CentOS Linux release 7.3.1611 (Core) |
內核信息 | Linux 3.10.0-514.el7.x86_64 |
硬件 | 虛擬機一臺 |
網卡 | 2塊 |
內存 | 8G //all-in-one建議16G |
CPU | 4 VCPU |
yum install epel-release
yum install python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
yum install ansible
curl -sSL https://get.docker.io | bash
配置docker服務,這里的配置,根據官網的提示是為了防止kolla-ansible部署neutron-dhcp-agent 容器時候拋出 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服務
systemctl daemon-reload
systemctl restart docker
pip install -U docker
安裝 升級python jinja版本
pip install -U Jinja2
yum install ntp
systemctl enable ntpd.service
systemctl start ntpd.service
系統可能默認開啟了libvirtd服務,需要關閉
systemctl stop libvirtd.service
systemctl disable libvirtd.service
運行這個命令會安裝最新穩定版本的kolla-ansible
pip install kolla-ansible
復制globals.yml 和 passwords.yml 到 /etc
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
復制inventory 文件 (all-in-one 和 multinode) 到 當前目錄
cp /usr/share/kolla-ansible/ansible/inventory/* .
默認Docker的Registry是使用5000端口,對于OpenStack來說,有端口沖突,所以需要改成4000。Pull并啟動registry鏡像。
docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \
--restart=always --name registry registry:2.3
說明:
Docker容器啟動的時候,如果要掛載宿主機的一個目錄,可以用-v參數指定;這里表示將宿主機的
/opt/registry目錄掛在到容器的/var/lib/registry目錄
-p 4000:5000 表示將宿主機的4000映射到容器的5000端口
--name registry 是給這個容器起名為registry
registry:2.3表示docker拉取的鏡像是版本為2.3的registry
將之前下載的kolla鏡像解壓到/opt/registry目錄中
tar zxf centos-binary-registry-ocata.tar.gz -C /opt/registry/
查看鏡像倉庫是否正常,如果返回一個json數據表示正常工作,這里的ip替換為docker倉庫所在的主機IP
curl http://xxx.xxx.xxx.xxx:4000/v2/_catalog
有時候會在準備運行kolla-ansible deploy -i出現這種報錯
Error:server gave HTTP response to HTTPS client
需要配置,這里的ip就是registry所在的主機ip
tee /etc/docker/daemon.json <<-'EOF'
{ "insecure-registries":["xxx.xxx.xxx.xxx:4000"]}
EOF
重啟Docker服務
systemctl daemon-reload
systemctl restart docker
檢查系統是否支持硬件加速,如果返回為0,那么只能使用qemu
egrep -c '(vmx|svm)' /proc/cpuinfo
如果是在虛擬機里安裝Kolla,希望可以在OpenStack平臺上創建虛擬機,那么你需要把virt_type=qemu,默認是KVM。
mkdir -p /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type=qemu
EOF
部署kolla
kolla-genpwd
行這個命令,將會為/etc/kolla/passwords.yml的配置項填充隨機生成的密碼;
可以在運行這個命令后,根據自己需要修改passwords.yml,設置自己的密碼
例如
編輯 /etc/kolla/passwords.yml文件,配置keystone管理員用戶的密碼。
keystone_admin_password: admin
kolla_internal_vip_address: " 172.16.X.225" //訪問Dashboard的地址
docker_registry: " 172.16.X.225:4000"
docker_namespace: "lokolla"
network_interface: "eth0" //IP地址為172.16.X.225
neutron_external_interface: "eth2" //該網卡不配置IP地址
openstack_release: “4.0.3”
kolla_base_distro: "centos" //默認為centos
kolla_install_type: "binary" //默認為binary
說明:
kolla_internal_vip_address:虛擬ip( VIP)會用于和 keepalived
docker_registry: 指定這個配置為本地倉庫的話,kolla會從本地倉庫下載鏡像
docker_namespace: 指定了倉庫的名稱空間
network_interface: 指定當前用于kolla服務所在的管理主機的IP
neutron_external_interface: 用于neutron容器部署
openstack_release: 指定了kolla部署容器的時候從倉庫獲取的鏡像版本,參考3. Kolla鏡像獲取
由于部署的是all-in-one單節點
編輯/usr/share/kolla-ansible/ansible/group_vars/all.yml
文件,設置enable_haproxy為no
enable_haproxy: "no"
驗證環境是否符合kolla要求
進入/root(即 復制inventory 文件 (all-in-one 和 multinode) 的目標目錄)
kolla-ansible prechecks -i all-in-one
部署openstack
kolla-ansible deploy -i all-in-one
等待結束
結束后查看docker容器
docker ps
創建環境變量文件
kolla-ansible post-deploy
這樣就創建 了/etc/kolla/admin-openrc.sh 環境變量文件。
安裝OpenStack client端
pip install python-openstackclient
這樣就可以通過命令行執行openstack相關命令
整理的后的命令shell腳本:https://github.com/jannanlo/tools/blob/master/ocata-all-in-on.sh
以上是“kolla-ansible如何部署openstack的ocata”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。