1. 程式人生 > >centos下容器部署openstack

centos下容器部署openstack

單節點部署

  • vmware + kolla-ocata
    vmware虛擬機器配置
    從圖中可以看到網絡卡配置了兩個(一個為NAT模式,一個為僅主機模式)。記憶體分配了8G,硬碟分配了200GB。

  • 通過iso引導,啟動映象,選擇install centos7.2 and kolla

  • 經過漫長的等待,成功開機
  • 修改虛擬機器的網路
    • 修改centOS 7的網路配置
      1. 進入目錄cd /etc/sysconfig/network-scripts/
      2. 然後檢視對應網絡卡的檔案vi ifcfg-ens33
      3. 接著就是修改IPADDR,GATEWAY0,BOOTPROTO,ONBOOT, DNS,PREFIXO0
        等資訊。修改的參考來自於vmware的虛擬網路編輯器
      4. 重啟網路:service network restart
      5. 通過ip addr看自己的網路配置
  • 修改部分配置檔案以適應自己的環境

    • 修改/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訪問地址

    http://ens33_IPADDR/
    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