openstack自動化部署

    此次是基於devstack進行自動化部署,後續會經過解析這個部署腳本的源代碼的形式,學習openstack的部署,同時一步步閱讀openstack其餘服務的源碼,好比keystone、nvoa等,一步步深刻。
html

事實上手動部署和自動化部署在命令上沒啥區別,若是對自動化部署軟件的源碼熟悉,其實收穫更大mysql


5e0251676f43932da06ce41a8183952b.png-wh_

自動化部署原理:git

自動執行安裝腳本:將安裝命令腳本化—>github

自動生成配置文件:生成正確的配置參數—>sql

自動解決依賴關係:安裝依賴的軟件包&服務的安裝順序數據庫

(理解自動化部署的思路,以便後續本身編寫自動化部署腳本)分析軟件的架構特色ubuntu

4ba3f2145e2d4fdc331ba4ac832b6fca.png-wh_

  • devstack下載swift

    • devstack經過git來實現代碼的版本管理bash

注:ubuntugit安裝: sudo apt-get       install git 服務器

git clone https://github.com/openstack-dev/devstack.git

 184b777f3ce089e271c736e9939427ee.png-wh_   

  • 代理問題(proxy):

    • git通常經過兩種協議實現傳輸:http(https)ssh

    • 有些公司會經過代理服務器上網,代理服務器一般只會容許http協議

    我這裏是建議使用在一個徹底乾淨的環境中進行部署,安裝的時候,我在ubuntu14中部署,而後時區設置在usa,以前設置在重慶留下了蠻多坑的,好比上面設置代理之類的,後面的話,改爲usa順利了一些。

    分析devstck的文件結構

fe6e4fa2b2b813b3fe92ffda5f27aba7.png-wh_

  • stack.sh à自動化部署的入口 à .exe文件

  • unstack.sh à 卸載腳本

  • localrc à配置文件 à 傳入stack.sh的參數(這個localrc文件在這~github上面是沒有的

localrc文件下載連接http://down.51cto.com/data/2339580

  • nova部署在哪一個節點,用戶名密碼是啥

  • openrc à 環境變量腳本

    • 在執行openstack命令時要導入一些環境變量

    • export OS_USERNAME = admin

  • lib à每一個服務的自動化安裝腳本

    • nova,swift等自動化安裝腳本

    • 手動安裝時執行的全部命令

    • 每個openstack服務對應一個文件

4190cf36265cca6a314c790b8af34b78.png-wh_

分別對應的是各類服務的部署腳本,介紹一下其中一部分服務

  • databasedatabasesopenstack數據庫服務的數據庫服務的部署腳本

    • postgresql/mysql默認使用mysql

  • novanova_plugins

    • functions-libvirt  hypervisor-baremetal  hypervisor-fake  hypervisor-ironic  hypervisor-libvirt  hypervisor-openvz  hypervisor-vsphere  hypervisor-xenserver

  • tempest單元測試框架

devserack的執行原理

    先經過stack.sh判斷localrc是否存在,若是是則進入配置模式,不然進行交互模式交互模式是須要根據自身需求向stack.sh輸入相關的服務指令,如mysql的密碼、roken參數等信息配置模式的話,就是根據localrc配置好的參數進行自動化安裝,並部署,下面介紹localrc的指令信息

DATABASE_PASSWORD=123456   
配置數據庫的密碼,默認是mysql,若是想安裝postgresql則須要修改DATABASE_TYPE=postgresql
ADMIN_PASSWORD=123456 
管理員密碼
SERVICE_PASSWORD=123456
SERVICE_TOKEN=123456 
token信息,每次請求都要帶着不然會被拒絕 
RABBIT_PASSWORD=123456
rabbit MQ密碼
reclone=true
這個配置以後會從新下載各個服務的源碼,若是檢測到哪一個服務的源碼不對的話,將會從新下載

接着是配置devstack和openstack日誌文件的存儲位置

DEST=/home/stack
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=$DEST/logs

須要部署的服務直接寫在這兒就行,而後我在部署的時候稍微修改了一下文件,目的是增長一些服務以便後續的學習,固然了,讀者能夠自便修改相關參數

VIF_PLUGGING_IS_FATAL=False
VIF_PLUGGING_TIMEOUT=10

上面兩個是用來解決openstack部署vxlan時的一個bug

以上是我建議的須要的修改的一些配置,僅供參考

詳細的部署教程看下一篇

相關文章
相關標籤/搜索