一直以來,對於openstack 的初學者來說,安裝每每是入門的頭大難題。在E版本以前,要搭建一個基本能用的openstack 環境那是至關麻煩,本身要裝機,本身搞源,本身照着文檔敲命令,又沒有靠譜的文檔,官方給出的文檔依舊有好多坑,還有語言問題每每用上好幾天時間都裝不起來,慢慢地就喪失了學習openstack 的信心!html
不事後來狀況有了很大改觀,從E版本開始,之後安裝過程簡化許多,文檔質量提升很多。儘管如此對於初學者還講仍是比較複雜,其實不少時候,不少人只是想體會一下openstack,徹底不關注安裝這門子事情。還好openstack社區足夠活躍,很快就有公司作出了比較友好的安裝工具,好比今天要向你們介紹的Fuel這個工具,其實這裏還能夠叫她mirantis openstack,由Mirantis 公司開發。node
Mirantis,一家很牛逼的openstack服務集成商,他是社區貢獻排名前5名中惟一一個靠軟件和服務吃飯的公司(其餘分別是Red Hat, HP, IBM, Rackspace)。相對於其餘幾個社區發行版,Fuel的版本節奏很快,平均每兩個月就能提供一個相對穩定的社區版。ios
Fuel 是一個爲openstack 端到端」一鍵部署「設計的工具,其功能含蓋自動的PXE方式的操做系統安裝,DHCP服務,Orchestration服務 和puppet 配置管理相關服務等,此外還有openstack 關鍵業務健康檢查和log 實時查看等很是好用的服務。git
Fuel 3.2基於Grizzly版本,而最新將發佈的4.0版本是基於Havana版本的技術預覽版,不可用做生產環境使用,同時,4.0版本仍然不包含Heat和Ceilometer組件。github
總結一下,Fuel 有如下幾個優勢:web
Fuel 主節點:用於提供PXE方式操做系統安裝服務由開源軟件Cobbler 提供,另外由Mcollective和puppet 分別提供orchestration服務和配置管理服務。Fuel iso 包發部的時候已經一同打包了Centos6.4 和ubuntu 12.04 安裝包,若是須要使用紅帽子企業版RHEL6.4 須要本身手動上傳。bootstrap
目前能夠支持openstack SA 或者HA 的安裝。如今咱們已經對Fuel 有了大體瞭解,如今來看看用她來安裝openstack有多麼的方便!ubuntu
首先要說明的是Fuel 針對目標就是生產環境openstack部署,這裏爲了講解安裝過程就在虛擬機上演示說明。個人環境是HP筆記本Folio 9470 ,實際上是辦公用的普通筆記本,讀者能夠根據實際機器狀況自行修改虛擬機配置,我給出了個人配置僅供參考。centos
硬件要求瀏覽器
安裝包準備
安裝步驟
網絡拓撲
首先在virtualbox 裏面自定義以下3個網絡:
›Net1:
–Network name: VirtualBox host-only Ethernet Adapter#2
–Purpose: Fuel administrator network
–IP block: 10.20.0.0/24
–Linux device: eth0
›Net2:
–Network name: VirtualBox host-only Ethernet Adapter#3
–Purpose: public/ floating network
–IP block: 172.16.0.0/24
–Linux device: eth1
›Net3
–Network name: VirtualBox host-only Ethernet Adapter#4
–Purpose: Storage/ management/ internal network
–IP block: 192.168.4.0/24
–Linux device: eth2
虛擬機建立
›VM1
–Name: Fuel_3.2.1
–vCPU:1
–Memory :1G
–Disk:30G
–Networks: net1
›VM2
–Name : Fuel_3.2.1_controller
–vCPU:1
–Memory :1G
–Disk:30G
–Network:net1,net2,net3
›VM3
–Name: Fuel_3.2.1_compute1
–vCPU:2
–Memory :2G
–Disk:30G
–Networks:net1,net2,net3
網絡拓撲
建立網絡Net1,注意不要啓用dhcp,這個會干擾fuel 本身的dhcp服務。
建立網絡net2
建立網絡net3
建立fuel 主節點虛擬機,虛擬機名字爲「fuel_3.2.1「。注意網卡選用net1,也就是virtualbox 的」VirtualBox host-only Ethernet Adapter#2「 網絡。
設置完成後啓動虛擬機,顯示boot menu時候,若是須要修改ip地址能夠自行修改,默認是不須要修改。
開始安裝操做系統
出現該畫面時按任意鍵進入修改fuel 主節點相關配置,能夠不修改使用默認值,幾秒後進行軟件包安裝。
puppet 安裝fuel 相關軟件,好比Cobbler 等。
fuel 主節點安裝完成。
看fuel 安裝是否完成,就登陸http://10.20.0.2:8000/ 顯示以下頁面。
可能的問題
接下來就開始安裝openstack 環境了。
首先在Fuel web 上建立一個openstack 環境,名字爲」demo「,這個環境是能夠創多個的,可見fuel能夠同時管理多個openstack 環境。這裏選擇的os 有三種,這裏默認選擇centos,固然你也能夠選擇ubuntu 和rhle ,不過rhle 須要手動上傳鏡像或者提供紅帽子官網用戶名和密碼,fuel 爲你自動下載,不過期間比較長,不推薦。
這裏選擇部署openstack 多節點非HA模式。
因爲咱們是在虛擬機中再跑虛擬機,這裏選擇hypervisor類型爲」qemu「。
這裏選擇openstack 的網絡部署模式,咱們選最簡單的方式也是目前最成熟的方式nova-network實現。
最後一路使用default 配置,不作更改完成環境建立。
建立openstack節點虛擬機VM2和VM3,分別命名爲fuel_3.2.1_controller和fuel_3.2.1_compute1,注意計算節點多分配寫cpu core ,至少2個,內存2G,固然若是機器配置不夠也能夠1個core 1G內存,至少後邊建立openstack的instance比較慢。
設置系統由network啓動
配置網卡1,接入net1,注意必定要選擇 網卡類型爲:Pcnet-PCI II,而且開啓混雜模式:Allow All.node_vms_set_promiscuous.jpg
配置網卡2,接入net2.
配置網卡3,接入net3
讓後分別啓動VM2和VM3
畫面出現bootstrap login 後,在fuel web 頁面才能夠看到節點被fuel發現。
回到fuel web 能夠看到兩個節點被發現
接下來開始針對這兩個被發現的節點VM2,VM3配置openstack環境了。
首先須要配置VM2和VM3在openstack 中的角色。點擊」add nodes「 添加VM2做爲openstack 的控制節點。
在點擊」add nodes「 添加VM3做爲openstack 的計算節點。
修改兩個節點的物理網卡和openstack 邏輯網絡的映射關係,這裏只須要拖拽就搞定。admin 網絡已經設置到eth0不能再做修改10.20.0.0/24,public和 instance floating 網絡共用eth1 且共用同一個地址塊172.16.0.0/24,而private ,management 和storage 共用eth2 可是網絡ip不一樣,須要經過vlan tag 方式實現二層網絡隔離。
修改兩個節點磁盤的分區狀況,這裏使用默認值,注意storage 分區不能小於10g,不然不能經過驗證。
再來配置openstack 最複雜的一塊網絡,其實按照我給的網絡拓撲使用默認值就能夠安裝啦,是否是很方便?不過仍是要囉嗦一下:
public IP用於物理機器和外界通訊,floating IP 用於動態分配給openstack instance 實現和外界通訊。注意這裏地址塊不能重疊。 因爲private,management和storage共用同一網卡且IP塊不一樣,要實現二層隔離就須要打上vlan的tag,若是是接在真實的交換機,必須啓用trunk 模式。 一旦網絡配置完畢並安裝完成,這個地址是永久不能改變的,因此生產環境下必定要先規劃好在部署。 配置完成後點擊 」networking verification「 按鈕,檢查網絡設置是否正確。
驗證經過後保持設置,開始部署節點。
此時能夠發現兩個VM開始自動重啓開始安裝OS。
這裏比較古怪,安裝進度到33%時須要等好久才能往下走。這個時候兩個節點的OS都已經安裝完成。
有什麼辦法能看到安裝的log呢?固然有,這時候能夠去log 標籤視圖查看安裝log,選取」other server「,在選對應節點的puppet log 看log 跳動。
最後,一切順利的話,大概20 幾分鐘安裝就會完成了,不過具體時間取決於機器性能,這時候點擊http://172.16.0.2 或者 http://10.20.0.4 均可以訪問openstack 的dashboard .區別在於172.16.0.2 所謂的公網ip 地址,這個登後dashboard 能夠直接使用vnc 訪問instance,而10.20.0.4不能。
點擊連接進入openstack登陸頁面,輸入admin/admin
至此,openstack的環境部署完成,這裏部署了一個計算節點,一個控制節點。沒有部署cinder ,沒有部署多計算節點。若是須要部署,請重複上述步驟便可。
最後,就是驗證一下openstack環境是否正確部署。其實fuel 有個很是好的而一個功能,能夠快速檢測openstack 環境」健康「狀況。進入healthcheck 標籤,能夠一鍵安全檢測,注意不會所有都經過,應爲cinder 沒有安裝,因此create volume 相關的服務會失敗。
最後咱們仍是創個instance 來驗證吧?
先登陸後進入openstack主管理界面,建立一個instance,進入project view – > 打開instances tab -> 點擊右上方luanch 按鈕。instance 名字爲test0
instance 建立成功後,同時點擊相應instance test0右邊的」more「 按鈕,選擇」allocation floating ip「,爲其分配一個floating ip 地址。
直接在web 頁面訪問instance: 點擊 右端 」more「 -> 「console」 按鈕進入該頁面,這是是用web socket 技術實現的VNC 客戶端,用它能夠作一些簡單instance 管理,不足是不能粘貼拷貝比較麻煩。
最後在筆記本上打開一個」cmd「 終端看一下floating ip 是否通暢。
至此fuel web openstack 安裝介紹結束,若是要安裝更多節點請重複上面操做便可。
其餘工具
固然,openstack安裝工具不僅是有fuel ,還有紅帽子的packstack 也是不錯的,而且支持最新版本的openstack 安裝。這裏有篇文章對兩者作了比較全面的介紹 http://www.openstack.cn/p383.html。
參考文檔
http://openstack-huawei.github.io/mirantis-openstack/
http://software.mirantis.com/quick-start/
http://www.openstack.cn/p383.html