【編者按】在之前
報(bào)道中,我們有簡(jiǎn)單的介紹過OpenStack新版本Icehouse,提到:“在OpenStack Icehouse版本正式發(fā)布之前的6個(gè)月里,有來自全球超過120家公司與機(jī)構(gòu)的員工參與其中,代碼貢獻(xiàn)者超過1200名,比2013年的Havana版本提高了32%?!比绱硕鄼C(jī)構(gòu)參加長(zhǎng)時(shí)間的參加,Icehouse版究竟有什么值得關(guān)注的地方,這里我們看陳沙克分享的博文。
以“ 云計(jì)算大數(shù)據(jù) 推動(dòng)智慧中國(guó) ”為主題的 第六屆中國(guó)云計(jì)算大會(huì) 將于5月20-23日在北京國(guó)家會(huì)議中心隆重舉辦。產(chǎn)業(yè)觀察、技術(shù)培訓(xùn)、主題論壇、行業(yè)研討,內(nèi)容豐富,干貨十足。 目前還有優(yōu)惠,需要購(gòu)買的朋友,請(qǐng)抓住這最后的機(jī)會(huì),點(diǎn)擊報(bào)名!
以下為博文:
OpenStack的Icehouse,4月17日發(fā)布,目前Horizon的所有Blueprint都已經(jīng)發(fā)布。Icehouse,對(duì)于Horizon來說,大概完成了70%的工作量,很多重要的功能,都需要等待下一個(gè)版本去實(shí)現(xiàn),如果全部都實(shí)現(xiàn),其實(shí)還是非??岬摹?/p>
OpenStack目前已經(jīng)有10個(gè)項(xiàng)目,要對(duì)每個(gè)項(xiàng)目深入了解,其實(shí)都是需要花費(fèi)大量的時(shí)間和精力,Horizon項(xiàng)目是比較簡(jiǎn)單,也是我最關(guān)注的,我整理一下。也希望國(guó)內(nèi)的朋友一起努力,把其他項(xiàng)目的Blueprint都整理一下,方便大家對(duì)OpenStack的新版本的理解。
基本把所有的Bueprint (BP)都過了一遍,應(yīng)該算是看懂一大半以上吧。
BP看起來比較悶,就先八卦一下。
我特別喜歡蔣清野這句話:開放源代碼作為一種新的商業(yè)模式,并不比傳統(tǒng)的閉源模式具有更高的道德水準(zhǔn)。同理,在道德層面上對(duì)不同的開放源代碼實(shí)踐進(jìn)行評(píng)判也是不合適的。
目前Horizon項(xiàng)目是Redhat和HP在主導(dǎo)。以前HPcloud,自己開發(fā)了一個(gè)Dashboard,目前已經(jīng)放棄,專用Horizon來對(duì)外提供服務(wù)。Redhat自己的Openstack版本,Dashboard也不會(huì)自己開發(fā),會(huì)使用Horizon。所以他們兩家投入大量的力氣來修改Horizon。Redhat為了讓Horizon的UI符合Redhat企業(yè)軟件的需求,也就投入大量人手去改善Horizon的UI。
Contents (跳轉(zhuǎn)目錄)
這個(gè)功能看上去很酷,租戶可以設(shè)置自己的路由器規(guī)則,不過我在router沒有找到任何地方可以設(shè)置。詳細(xì)看了一下Blueprint,原來這個(gè)功能,是需要Neutron BigSwitch plugin。你用ovs是沒戲。
現(xiàn)在Openstack上很多功能,都是廠商增加的,很大程度都會(huì)和硬件捆綁。
這是swift相關(guān)的功能,當(dāng)你創(chuàng)建一個(gè)容器的時(shí)候,你可以設(shè)置他的用戶的訪問權(quán)限ACL。這個(gè)功能,其實(shí)Rackspace和AWS都是有,尤其AWS上的ACL控制,功能是非常強(qiáng)悍的。
這個(gè)功能比較酷,國(guó)內(nèi)關(guān)心這個(gè)的,實(shí)在太多。以前Dashboard里提供的遷移,其實(shí)是冷遷移,現(xiàn)在已經(jīng)可以熱遷移,不過我還沒測(cè)試。
Openstack上現(xiàn)在的本地存儲(chǔ)是支持,冷遷移和熱遷移,只是如果是本地存儲(chǔ),遷移很慢而已。演示是比較酷的。
這也是swift的功能,其實(shí)你在dashboard里看到swift上的文件夾,都是假的,對(duì)象存儲(chǔ)是沒有目錄的概念。
Dashboard要看的比較好看,就需要有各種的圖來顯示相關(guān)數(shù)據(jù)。這里提供了柱狀圖和餅圖。以后大家要?jiǎng)?chuàng)建圖,就可以直接使用。
Horizon項(xiàng)目為了讓所有的代碼都符合License,付出很大的代價(jià),凡是不滿足License要求的都不用。
如果我們希望編輯一些屬性,我們需要點(diǎn)擊edit的按鈕,跳出一個(gè)頁(yè)面進(jìn)行編輯,這個(gè)顯得有點(diǎn)不太友好。有些情況下,可以直接在顯示的頁(yè)面里,直接進(jìn)行編輯。
以前Horizon對(duì)輸入的數(shù)據(jù)是不進(jìn)行前端的校驗(yàn),經(jīng)常造成提交后報(bào)錯(cuò)。最典型的一個(gè)案例,就是如果你的falvor小于你的鏡像要求,那么就會(huì)出錯(cuò),如何在前端去避免這個(gè)錯(cuò)誤呢。
引入這個(gè)Blueprint后,前端就可以做的更加豐富,用戶體驗(yàn)更好。不過目前頁(yè)面里,還沒很好使用這個(gè)功能,希望下一個(gè)版本,能全部實(shí)現(xiàn)。
RBAC,基于角色的訪問控制(Role-Based Access Control),這個(gè)功能,對(duì)于一個(gè)租戶下,多個(gè)用戶,進(jìn)行權(quán)限劃分,就非常重要。
假設(shè)A用戶是管理員,b用戶只有查看的權(quán)限,C用戶可以創(chuàng)建虛擬機(jī),維護(hù)自己的虛擬機(jī)。這些企業(yè)比較需要的功能,都需要RBAC來實(shí)現(xiàn)。甚至某個(gè)用戶只能看網(wǎng)絡(luò),存儲(chǔ)。
所以O(shè)penstack所有的組件都需要RBAC,這樣才算比較完善,目前只有幾個(gè)組件支持,后續(xù)的完善需要到J版本。如果你想相信了解這塊,可以去Rackspace看看,他們已經(jīng)在Web端實(shí)現(xiàn)。
這個(gè)應(yīng)該是和JS的代碼要求。寫代碼和Js的朋友可以深入研究一下。
引入插件的機(jī)制,讓別的項(xiàng)目可以利用使用這個(gè)機(jī)制,擴(kuò)展Dashboard。日后Openstack的其他項(xiàng)目,估計(jì)都會(huì)通過插件的方式,添加到Horizon里。
現(xiàn)在比較流行所謂的APP Store,我想比較類似,如果你啟用某個(gè)插件,就會(huì)具備某個(gè)功能。
這應(yīng)該也是讓表格的數(shù)據(jù)顯示更加友好,和上面可以直接編輯表格數(shù)據(jù)比較類似。
這個(gè)功能很酷,引入的向?qū)Ш凸ぷ髁?。例如虛擬機(jī)創(chuàng)建流程和網(wǎng)絡(luò)創(chuàng)建過程。
這是一個(gè)很好的開始。虛擬機(jī)的創(chuàng)建流程需要到J版本,才能實(shí)現(xiàn)。
這個(gè)應(yīng)該是代碼清理,說明真的很多人真的在干活啊。
Dashboard里,你可以通過console訪問linux的虛擬機(jī),如果是windows的虛擬機(jī),那么以前是沒啥辦法的,如果這個(gè)windows的虛擬機(jī)的RDP端口沒有打開,那你就徹底沒戲。
通過這個(gè),你可以通過console訪問到虛擬機(jī),基本啥都可以做,類似你坐在機(jī)器前面,接顯示器在干活。
現(xiàn)在卷,已經(jīng)可以擴(kuò)大,這個(gè)功能,已經(jīng)在Dashboard里實(shí)現(xiàn)。
當(dāng)你虛擬機(jī)多了時(shí)候,頁(yè)面如何顯示和搜索,就是一個(gè)問題。增加了一個(gè)過濾條件,可以基于project來搜索。
這里其實(shí)還有點(diǎn)小問題,無法搜索全部。讓同事提交一個(gè)bug。
這個(gè)倒是很好理解,看圖
這個(gè)Blueprint,非常大,是Redhat主導(dǎo),讓Dashboard的風(fēng)格,更加符合企業(yè)的使用習(xí)慣。
看起來非常爽,至少我是這樣的感覺。
這個(gè)功能我和同事驗(yàn)證了一遍,以后對(duì)Dashboard做減法,就更加方便。什么是Panel?
1級(jí)菜單:project,admin,setting
二級(jí),admin下的:system Panel和Identity Panel
3級(jí):就是system panel下的菜單。你可以通過配置,讓這些菜單是否顯示。
/opt/stack/horizon/openstack_dashboard/enabled
里面提供了一個(gè)例子
cp _60_admin_remove_panel.py.example _60_admin_remove_panel.py
重啟apache,就會(huì)發(fā)現(xiàn)System info的那個(gè)菜單沒有了。
鏡像服務(wù)的RBAC,和RBAC的功能,都是HP提交的。
現(xiàn)在的顯示器分辨率大家差異還是不小。以前的做法就用大家最常用的1366×768來設(shè)計(jì)頁(yè)面,那么在大顯示器顯示,效果并不太好。
這個(gè)功能我的理解是根據(jù)顯示器分辨率來顯示,改善顯示的效果。不同分辨率 效果圖
以前用戶登錄后創(chuàng)建虛擬機(jī)失敗,很大一部分原因就是選擇Flavor和鏡像要求不一致,硬盤或者內(nèi)存不滿足需求。
如何解決這個(gè)問題呢?那就是你上傳鏡像的時(shí)候,設(shè)置好最小內(nèi)存和最小磁盤,同時(shí)在創(chuàng)建虛擬機(jī)的流程里,加上各種判斷。
填寫完這兩個(gè)參數(shù),你就會(huì)發(fā)現(xiàn)虛擬機(jī)創(chuàng)建流程,當(dāng)你選擇image以后,F(xiàn)lavor會(huì)調(diào)整,并且小于需求的Flavor無法選擇。
看圖就明白,這其實(shí)是對(duì)上面的BP一個(gè)完善
把以前需要命令配置的在Dashboard里實(shí)現(xiàn),這些都是管理員設(shè)置的。
Dashboard是根據(jù)keystone的endpoint來決定使用api的版本的。Horizon支持Cinder的最先版本的API。
支持不同的餅圖,
這個(gè)就和測(cè)試,devstack有關(guān)。
以前只能管理員看到全部的使用情況,用戶可以看到自己每天的使用情況,就是也有一個(gè)Overview的頁(yè)面
就是創(chuàng)建完的heat 的stack,現(xiàn)在可以u(píng)pdate。
這個(gè)和測(cè)試有關(guān),AngularJS相關(guān)的測(cè)試,比較有學(xué)問,沒搞懂。
VPN服務(wù)相關(guān)。可以對(duì)創(chuàng)建的vpn進(jìn)行修改。
虛擬機(jī)創(chuàng)建的過程中,默認(rèn)會(huì)根據(jù)你選擇的Flavor,把虛擬機(jī)的硬盤的根分區(qū)調(diào)整到最大。不過有些用戶并不希望這樣,他們希望自己手工區(qū)分區(qū)。
假設(shè)一個(gè)鏡像他的磁盤是20G,那么他選擇一個(gè)40G的flavor,選擇手動(dòng)分區(qū),那么你創(chuàng)建完的虛擬機(jī),磁盤是20G,你需要手工的方式把剩下的磁盤20G,進(jìn)行分區(qū),添加到系統(tǒng)里。
這個(gè)和swift有關(guān)
經(jīng)常有人問:如何限制虛擬機(jī)的磁盤IO和網(wǎng)絡(luò)帶寬,方法很多,不過最簡(jiǎn)單的就是通過Flavor。
你可以設(shè)置某個(gè)flavor的cpu,網(wǎng)絡(luò)速度和磁盤IO。這個(gè)功能,大家要好好測(cè)試。
swift有關(guān),可以u(píng)pdate 對(duì)象的信息。
代碼清理工作
前端的,就是讓左邊的導(dǎo)航,可以收縮起來,更加方便。
現(xiàn)在最新的Django,應(yīng)該是1.7,J版本,就會(huì)升級(jí)。Horizon項(xiàng)目更新還是很及時(shí)的。基本保證所有的組件都是最新的。
這其實(shí)是windows鏡像的功能,把虛擬機(jī)創(chuàng)建隨機(jī)生成的密碼,可以進(jìn)行加密。這個(gè)做法和AWS是一樣的。
感覺著更多是一個(gè)bug fix。
原文鏈接:
Openstack Horizon Icehouse Blueprint介紹(責(zé)編/仲浩)