1. 程式人生 > >Openstack部署工具總結

Openstack部署工具總結

[原文連結] http://www.chenshake.com/openstack-deployment-tool-summary/

Openstack發展很猛,很多朋友都很認同,2013年,會很好的解決OpenStack部署的問題,讓安裝,配置變得更加簡單易用。

很多公司都投入人力去做這個,新浪也計劃做一個Openstack的iso,整合OS,當你決定去做這個的時候,那麼先了解一下目前的現狀。說到部署,肯定和OS有關,對於Openstack來說,無非就是Ubuntu還是CentOS,當然也會和OpenStack版本有關。

其實部署工具,最麻煩的地方,不是軟體的配置和安裝,而且網路。使用者的網路情況太多,還有Openstack本身的網路也很複雜。

關於如何step by step的部署,目前Openstack 官方已經把文件整理的很好,基本把我收藏夾裡的內容都整理在這裡:http://www.openstack.org/software/start/

微博評論

StackOps自身規模比較小沒有順利走Mirantis和CloudScaling的路子,商業模式也不夠清晰;Dell的CrowBar還是不錯的一套工具,我做過它對RHEL6.x 的支援,並不複雜,可惜由於限制沒能貢獻回去;Juju本身定位應該是大於openstack的,思路很好,也算找到一片小小的藍海;

Fuel

這是Mirantis出品的部署安裝工具,2013年10月份,推出他的3.2版本,讓人很震撼,基本算是把Openstack所有的部署都web化,你可以太多的選擇:尤其是網路,儲存。這基本都是大家學習的榜樣。已經敢和企業簽訂SLA。

目前國內杜玉傑,九州雲,在做該專案的漢化工作和考慮日後的技術支援。

http://www.mirantis.com/

Devstack

這應該算是Openstack最早的安裝指令碼,他是通過直接git原始碼,進行安裝,目的是讓開發者可以快速搭建一個環境。目前這套指令碼可以在Ubuntu和Fedora下跑的很好。

如果你想了解新版本的功能,通過Devstack是一個最佳選擇。我第一次成功安裝Openstack,就是用這個。

Diablo安裝指令碼

這算是我知道的第一個基於ubuntu 源的安裝指令碼,當時Diablo釋出的時候,有bug,keystone和Horizon無法一起工作,ubuntu 11.10源裡的包也是有相同的bug,並且Ubuntu 官方並不打算維護和升級。這位作者個人身份,維護了Diablo 版本後來的升級,打包,並且寫了一套指令碼。

這套指令碼,其實寫的非常好,我同事改造了一下,就可以安裝Essex版本。目前正在改進,用來安裝Folsom版本。

Stackops

Openstack起步的時候,官方的安裝文件,其實基本都是來自Stackops,當時他們提供Openstack的部署服務。你下載一個iso,裝完一個ubuntu系統後,就會轉到他們的web,你填寫相關的配置引數,通過chef進行部署。

Stackops在Chef上是比較強悍的,包括Dell的Crowbar,也是和他合作,才搞定Chef。不過我的理解,他的Chef 指令碼是沒有開源的。

Stackops通過商業定製,進行收費。目前感覺有點走下坡路,業內的聲音比較小了。對openstack的新版本支援比較慢,Essex支援,到9月份才支援。目前還沒有任何關於Folsom 的支援。

Crowbar

在Openstack上,Dell是有點鬱悶,中國的那句老話,起個大早,趕個晚集。Openstack剛釋出的時候,Dell就號稱要做一個工具部署,不過畢竟是硬體公司,對軟體還是比較外行。

Dell的Crowbar,是一個iso,裝完後,你可以在web介面進行Openstack的部署,底下其實也是使用Chef。集成了Nagios監控,安裝OS是dell自己開發的,有點創新。

以前Dell的Crowbar一個大的特色就是可以遠端設定機器的Raid和Bios,這是從Dell,我才知道可以這樣做。不過也正因為這個特色,導致廠商繫結,還有Dell自己如何定位Crowbar,當初還想搞一個商業的版本,結果後來放棄。

Crowbar目前的開發,其實應該是遇到問題,任何做部署工具的,應該都是一個很好的失敗的案例。後續的發展,維護,更新都是問題。

Maas+Juju

這是Canonical推出的部署工具,可以用在Openstack的部署,類似Puppet,Chef 的部署工具。Maas是用於安裝ubuntu,juju是用於部署應用。

我是很早就測試他們,本來有作業系統的優勢,做部署工具,應該會有優勢,不過比較失望,Maas開始的時候,就是一個半成品,Maas裝完的作業系統,是無法固定IP地址,真不知道他們怎麼想的,可能是我土鱉,不能理解資料中心的機器,都是通過dhcp獲得IP。我訂閱了juju的郵件列表,一個星期就1,2封郵件,比較慘淡。研究的人估計也很少。

以前Maas底下是使用cobbler,不過現在最新的版本,已經去掉,用ubuntu自己搞的。

依靠自己的公司投入去維護一套工具,難度都是比較大的。所以Maas和juju,前景真的不是太好。你如何和Puppet和Chef 競爭?

這可是出身名門,Rackspac推出的Openstack部署工具,一個ISO,你裝好後,裡面帶一個Chef 虛擬機器。你用iso安裝作業系統的時候,就要選擇機器的角色。

Rackspace有一點做的是不錯,提供一個診斷工具,讓使用者可以通過這個診斷工具,向Rackspace提交問題,這個是非常值得借鑑的作法,當然也是很有難度的。

文件也很全,大家可以去看看,我是一直都沒測試。

Chef 程式碼完全開源,並且現在同時支援Centos 和Ubuntu, 並且支援Folsom。在github上,大家可以看看。趣遊的朋友對這個比較有研究。

通過這個專案,你可以瞭解到Openstack那個元件屬於不穩定,例如nova volume,vnc,他們都不整合,從另外一個方面說明這有問題。

思科Openstack版本

思科很早就介入Openstack,Quantum專案,算是思科發起。思科的Openstack版本,倒是比較有意思,基本Puppet來做,並且自己做了一個Openstack源。

看了一下思科的Openstack資料,簡單理解:通過puppet部署Cobbler,利用cobbler安裝Ubuntu 12.04,利用puppet安裝Opentack的元件,整合監控,好像已經把監控整合到Dashboard裡。可惜一直沒條件測試,看文件,好像是需要思科的專門交換機才行。目前是支援Folsom和Essex。

Puppetlab

Puppet公司,其實已經直接加入Openstack,官方的身份維護著Puppet的Openstack模組,並且Openstack模組,可以同時支援Ubuntu和Redhat系列,Redhat的工程師在幫忙。

dodai-deploy

這是日本人搞的一個部署工具,也是基於cobbler和puppet,另外還做了一個web管理,我是一直都沒測試,作者還去參加開發大會,介紹他們的產品。目前Openstack官方文件關於Puppet的部署,是這位開發者在維護。這套產品是在日本科研系統生產系統中使用。

這是Openstack的Nova推出的新功能,只能等Grizzly釋出,再好好看看。這是日本的好幾家搞Openstack的公司,聯合搞的一個功能,啥時候,中國也搞一個呢?

其實這個專案,是基於Dodai-deploy上開發的,目前程式碼已經加入Openstack,並且吸引了很多的開發者,Redhat的開發者也參與,讓人更加有信心。

文件是在slideshare和google doc,需要翻牆,所以我就放到網盤上。

有句話非常經典:No community support ,no feature.  沒有社群支援的開源軟體,沒有前途。應該很好反思一下國內的開源狀況。

Folsom安裝指令碼

Folsom安裝,由於引人了quantum,導致安裝比較複雜,不過終於有朋友搞出一個指令碼,不只是支援quantum,還支援nova network。我已經測試過nova network,非常好用。

Cobbler

Cobbler一般都是用來安裝系統,不過Cobbler 2.4版本,將會提供安裝Openstack的功能,真的不知道他如何實現,關注中,過完年,好好測試一下。

Openstack-Anvil

這是雅虎搞的Openstack安裝指令碼,用python寫的, 我同事學習半天,據說用了很多python的高階語法,可以在Centos 6.2下跑, 不過我是沒看到任何使用者在測試.不過這個指令碼一直都在堅持更新。雅虎今天的狀況,還能投入那麼大精力去做開源。

Altai Private Cloud

Grid Dynamics公司,是一家諮詢公司,在Redhat沒有正式宣佈加入Openstack前,CentOS的Openstack的rpm包都是他們維護的,並且最開始的EPEL上的包,也是他們幫忙做的,並且他們還開發了好幾個模組:DNS管理,賬單管理。還有一個Dashboard。不過這些專案,都沒有成為孵化專案。

他們也開發了一套指令碼來部署

以前,如果你希望在Centos下安裝Openstack,就必須用這個公司提供的源,後來Redhat加入Openstack,也就改變很多。最近半年,好像比較沉默,沒看到太多的資訊。如果大家希望基於CentOS來做部署,其實可以參考一下。

packstack

這個專案目前放在stackforge,算是努力成為孵化專案。目前是支援redhat系列。說明

更新很頻繁,值得關注。尤其是打算使用Centos的朋友。