但因為中間設定很多又很繁雜,開發階段可以用 DevStack 來簡化安裝過程。
要使用 DevStack 來安裝,動作很簡單~
以 ubuntu 來說,只需要在一台剛裝好的 ubuntu 上安裝 git,然後用 git 的指令從 github 上把 DevStack 的安裝包下載下來
最後執行 DevStack 上的安裝指令 [1] 就可以一鍵安裝完成。
安裝 git
sudo apt-get install git
下載 DevStack
git clone https://github.com/openstack-dev/devstack.git這段指令會自動在當前所在目錄下建一個 devstack 目錄,並把 DevStack 安裝包全部下載到該目錄內。
因此要執行這個指令時,記得先確定當前目錄是具有操作權限的。
此外這個指令有額外的參數可供使用,可以參考 [1] 的描述,在指令後面加上 stable/[release] 來指定想要下載的 release 版本
例如想要下載的是 IceHouse 版(這篇文章編寫時的最新版),指令可以調整成這樣:
git clone https://github.com/openstack-dev/devstack.git -b stable/icehouse devstack/
設定 DevStack
以現在來說,DevStack 的設定檔主要是 stackrc 和 local.conf 兩個檔案。
根據官方文件 [1-2] 的說明,預設 DevStack 會安裝的服務如下
Glance (API and Registry), Keystone, Nova (API, Certificate, Object Store, Compute, Network, Scheduler, VNC proxies, Certificate Authentication), Cinder (Scheduler, API, Volume), Horizon, MySQL, RabbitMQ, Tempest也就是 Swift、Neutron 並不在預設安裝的範圍之內~。
如果想要調整安裝的東西,例如想要安裝 Swift 或者某些東西不想裝
可以透過在 DevStack 的目錄裡建立 local.conf 這個設定檔來要求 DevStack 安裝程序去依照需求做安裝。
註:依照官方的建議的話,DevStack 的安裝包建議放在使用者目錄(/home/使用者名稱)內
因此 local.conf 就建立在 /home/使用者名稱/local.conf 即可。
例如如果想要同時安裝 Swift 和 Neutron,可以在 local.conf 檔案中寫上以下的設定
[[local|localrc]] # swift enable_service s-proxy s-object s-container s-account # Neutron disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service q-metering # Ceilometer # Enable the ceilometer metering services enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector # Enable the ceilometer alarming services enable_service ceilometer-alarm-evaluator ceilometer-alarm-notifier # Enable the ceilometer api services enable_service ceilometer-api其中第一行 [[local|localrc]] 是官方文件中有提到要寫上的內容,有關設定的內容必須寫在 [[local|localrc]] 這個區塊之下。
另外關於 stackrc,這個檔案就是主要在執行更新的設定
在我們公司的網路環境中,預設採用的 git repository 無法連接,所以必須更換成 github 的 HTTPS 位址 [5]。
也就是要在 stackrc 檔案中找到這行
GIT_BASE=${GIT_BASE:-git://git.openstack.org}並將它改成這樣
GIT_BASE=${GIT_BASE:-https://www.github.com}
安裝 DevStack
安裝DevStack 只需要執行 DevStack 安裝包內的 stack.sh 即可一鍵安裝完成。
如果再上面的 local.conf 設定檔中沒有沒有指定各種密碼(例如 MySQL 管理員的密碼、預設建立的 admin 和 demo 帳號的密碼等等)
在剛開始執行 stack.sh 時會詢問要設定什麼密碼,沒有輸入的話就會隨機產生
要注意的是,admin 和 demo 帳號的密碼如果用隨機產生的話,stack.sh 執行完以後會顯示產生的密碼(例如下面這樣)
不要裝完就開心地把螢幕訊息清掉了。
Horizon is now available at http://x.x.x.x/ Keystone is serving at http://x.x.x.x:5000/v2.0/ Examples on using novaclient command line is in exercise.sh The default users are: admin and demo The password: 9cdcdaba62a3b7c38ef8 This is your host ip: x.x.x.x
刪除 DevStack
DevStack 的安裝包當中,帶有方便使用者可以快速反安裝 DevStack 的 script,所以要反安裝其實也不太困難!
步驟只需要呼叫 unstack.sh 關閉 OpenStack 的服務,然後再呼叫 clean.sh 即可把 DevStack 安裝的大部分東西都移除掉。
不過要注意的是,如果要在刪除 DevStack 之後再重新安裝它,就會稍微麻煩一點~要盡可能清除上一次安裝的資料。
我自己的測試是會把 Apache2 完整移除掉
sudo apt-get purge apache2 apache2-utils然後把 DevStack 安裝的資料夾 /opt/stack 也移除掉。
sudo rm -rf /opt/stack
參考資料:
1、DevStack
2、stackrc
3、OpenStack Configuration
4、devstack installation with swift enabled
5、Failure in IceHouse install
沒有留言:
張貼留言