centos下容器部署openstack
阿新 • • 發佈:2019-01-07
單節點部署
vmware + kolla-ocata
從圖中可以看到網絡卡配置了兩個(一個為NAT模式,一個為僅主機模式)。記憶體分配了8G,硬碟分配了200GB。通過iso引導,啟動映象,選擇
install centos7.2 and kolla
- 經過漫長的等待,成功開機
- 修改虛擬機器的網路
- 修改centOS 7的網路配置
- 進入目錄
cd /etc/sysconfig/network-scripts/
- 然後檢視對應網絡卡的檔案
vi ifcfg-ens33
- 接著就是修改
IPADDR
,GATEWAY0
,BOOTPROTO
,ONBOOT
,DNS
,PREFIXO0
- 重啟網路:
service network restart
- 通過
ip addr
看自己的網路配置
- 進入目錄
- 修改centOS 7的網路配置
修改部分配置檔案以適應自己的環境
- 修改
/etc/hosts
檔案,10.99.0.2 control01
修改為ens33_IPADDR control01
- 修改
/etc/kolla/globals.yml
檔案,將出現的10.99.0.2
改為ens33_IPADDR
- 修改
執行部署(這裡預設用的配置檔案是all-in-one)
/root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible deploy
測試是否成功
dashboard訪問地址
username admin
password 99cloud
後續的工作是ubuntu上嘗試Kolla安裝Ocata 單節點。檢視啟動的容器
docker ps -a
所有的日誌都存放在fulentd容器中
docker exec -it fluentd bash
多節點部署
多節點環境,我們採用一個部署節點,一個controller節點,一個compute節點,一個storage節點
步驟:
- 設定網路、主機名
- ssh互相ping通,將部署節點的公鑰放到其他節點上
ssh-keygen -t -rsa//生成公鑰
ssh-copy-id controller//分發公鑰給controller節點
ssh-copy-id compute//分發公鑰給compute節點
ssh-copy-id storage//分發公鑰給storage節點
- 設定網路代理(這裡我用的是shadowsocks+privoxy)
如果不設定網路代理,無法獲取許多資源。後面如果docker安裝的版本不對,也不能安裝成功。因此經過一番掙扎之後,設定了網路代理來獲取資源。 - 設定selinux, firewalld
關閉selinux、firewalld - 加入docker.repo源
- 安裝docker-1.12.6,並且配置kolla.conf
- 安裝python-docker-py
- 設定docker的私有倉庫的源,編輯
/usr/lib/systemd/system/docker.service
檔案
ExecStart=/usr/bin/dockerd --insecure-registry 部署節點IP:4000
- 部署節點執行stop指令停止openstack容器,然後配置multinode,修改global.yml以及password.yml,進行prechecks,然後deploy
這裡如果prechecks全部都通過了,deploy也不一定會成功,還是要看部署的時候的輸出,然後根據日誌來修改相關的配置,缺哪補哪。
cd /root/kolla-ansible-4.0.3.dev36/tools/
./kolla-ansible stop//停止相關的容器
./kolla-ansible prechecks -i /home/mymultinode//安裝前檢查
./kolla-ansible deploy -i /home/mymultinode//開始部署
- 在各個節點上也可以檢視docker容器的執行情況
docker ps -a
這裡注意哦,如果你是像我一樣在虛擬機器上建openstack環境的話,還要改兩個地方,在controller節點,找到nova-api的配置檔案nova.conf
,在compute節點,找到nova-compute的配置檔案nova.conf
,然後新增一些內容.
[libvirt]
virt_type=qumu
cpu_mode=none