1. 程式人生 > >kolla專案:All-In-One --單網絡卡例項

kolla專案:All-In-One --單網絡卡例項

kolla專案:All-In-One

部署環境:CentOS 7.2
物理機單網絡卡:搭建vlan解決或者別的方法(不然在啟動neutron網路的時候會斷網,雙網絡卡可以自己忽略這邊)
docker版本:1.12.1
ansible版本:2.1.1
pip版本:8.1.2
其它的預設版本,沒有修改

安裝 epel源 :

yum install -y epel-release 

安裝pip:

yum install -y python-pip

安裝依賴包

yum install -y python-devel libffi-devel openssl-devel gcc python-setuptools git 

升級pip(自帶安裝的是7.1.0的,升級到8.1.0)

pip install -U ansible==2.1.1

安裝docker(docker版本是1.12)

curl -sSL https://get.docker.io | bash  
docker ps(檢視docker版本)

Docker 現在使用了 shared mount 功能,預設沒有開啟,需要手動修改 Docker 啟動檔案/usr/lib/systemd/system/docker.service 的 MountFlags

 sed -i 's/MountFlags.*/MountFlags=shared/' /usr/lib/systemd/system/docker.service

為確保開啟,按照官網那又執行了一遍

mkdir -p /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'
[Service]
MountFlags=shared
EOF

 systemctl daemon-reload && systemctl enable docker && systemctl              start docker (重新載入docker配置,使docker開機自啟動,重新開啟docker)
 docker ps  確定docker啟動(其它命令也可以,忽略也行)

安裝tox,openstackclient:

pip install -U tox
pip install -U python-openstackclient

下載kolla 原始碼並安裝:

git clone https://git.openstack.org/openstack/kolla
pip install kolla/  
cd kolla/
pip install -r requirements.txt -r test-requirements.txt

生成配置檔案:

tox -e genconfig
cp -rv etc/kolla /etc/

到這裡基本的基本的環境已經準能好了接下來才是關鍵:

第一步肯定就是build映象啦(這步很關鍵,很容易影響後面的步驟,最好是在網路穩定的時候build)

kolla-build --base centos --type source -p default

(在這邊花費的時間跟你的網路有關,順利的話一次可以build下來,那就恭喜你運氣真好,失敗了也不要害怕,因為可以單獨build)

在本人build那麼多次的測試下,發現容易build失敗的是heka跟rabbitmq

kolla-build heka (在這邊其實還是有錯誤的,等下章我會給出我的解決)

build結束,終於可以開始部署啦

修改配置檔案vim /etc/kolla/globals.yml :

kolla_install_type: “source”
kolla_internal_address: “192.168.101.147”(這邊要設定成跟enp4s0.2同一個網段的IP,並且未被使用)
network_interface: “enp4s0.2” (因為是單網絡卡,這個就是用的vlan埠)
neutron_external_interface: “enp4s0.3”(這個也是用的vlan埠,我覺得一個vlan也是可以的,第一次搭建為了確保有效就用了兩個vlan)

使用kolla內部自帶的檢測機器是否滿足安裝:

kolla-ansible prechecks

會出現hots錯誤,因為在前面沒有修改hosts檔案

sed -i '2a 192.168.101.25 localhost' /etc/hosts
kolla-genpwd (生成密碼檔案,你也可以自己修改)
kolla-ansible prechecks(再次執行)

檢測全部通過才可以執行下步,不然肯定出錯的

開始啟動容器

kolla-ansible deploy

在這邊要是映象build完整是可以一次性通過的,不會出現任何問題,不然會出現一些你意想不到的問題,這邊就祝你們順利

成功之後直接關閉防火牆,不然不能訪問,我順便把selinux關閉了

 systemctl stop firewalld && systemctl disable firewalld
 sed -i '7d;1a SELINUX=disabled' /etc/selinux/config

生成 /etc/kolla/admin-openrc.sh 檔案用來載入認證變數,並檢視admin登入密碼

 ./tools/kolla-ansible post-deploy
 more /etc/kolla/admin-openrc.sh 

最後就是登入啦,部署就到這邊,中途遇到的一些錯誤後面有時間再總結一下,測試還沒開始,應該還會有寫錯誤,希望有更多的人”玩起來”,