您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

OpenStack部署都有哪些方式

大小:0.5 MB 人氣: 2017-10-12 需要積分:1
[OpenStack實(shí)戰(zhàn)系列]OpenStack部署都有哪些方式2016-02-03 18:38
  對于每一個(gè)剛接觸到OpenStack的新人而言,安裝無疑是最困難的,同時(shí)這也客觀上提高了大家學(xué)習(xí)OpenStack云計(jì)算的技術(shù)門檻。想一想,自己3年前網(wǎng)上偶然接觸到OpenStack時(shí),一頭茫然,手動(dòng)搭建一個(gè)多節(jié)點(diǎn)環(huán)境時(shí)居然用了3個(gè)星期。
  時(shí)至今日,真是感觸頗多,從某種角度而言,也很慶幸當(dāng)時(shí)自己并未因困難而放棄OpenStack,否則,應(yīng)該是去做其他領(lǐng)域了吧!
  言歸正傳,咱們就來數(shù)落數(shù)落部署OpenStack都有哪些方式吧。這里,我們根據(jù)使用者群體的不同類型來進(jìn)行分類和歸納:
  個(gè)人使用方面
  DevStack
  無疑,在可預(yù)見的未來時(shí)間內(nèi),DevStack仍將是眾多開發(fā)者們的首選安裝方式或工具。該方式主要是通過配置參數(shù),執(zhí)行shell腳本來安裝一個(gè)OpenStack的開發(fā)環(huán)境。
  Rdo
  Rdo是由Red Hat開源的一款部署OpenStack的工具,同DevStack一樣,支持單節(jié)點(diǎn)和多節(jié)點(diǎn)部署。但Rdo只支持CentOS系列的操作系統(tǒng)。需要注意的是,該項(xiàng)目并不屬于OpenStack官方社區(qū)項(xiàng)目。
  Docs:https://www.rdoproject.org/install/quickstart
  手動(dòng)部署
  手動(dòng)部署all-in-one、multi-node、multi-HA-node環(huán)境。
  其他
  企業(yè)、團(tuán)體方面
  Puppet
  Puppet由Ruby語言編寫。應(yīng)當(dāng)說,Puppet是進(jìn)入OpenStack自動(dòng)化部署中的早期一批項(xiàng)目,歷史還算悠久。目前,它的活躍開發(fā)群體們是Red hat、 Mirantis、UnitedStack等。
  Red hat自從收購Ansible之后,如今仍然保持強(qiáng)勢勁頭在Puppet OpenStack項(xiàng)目中的Commit數(shù)量和質(zhì)量,其技術(shù)實(shí)力不容小覷;Mirantis出品的Fuel部署工具中,大量的模塊代碼便使用的是Puppet。就國內(nèi)而言,UnitedStack是Puppet社區(qū)貢獻(xiàn)和使用的最大用戶。
  Ansible
  Ansible是新近出現(xiàn)的自動(dòng)化運(yùn)維工具,已被Red Hat收購?;?a href='http://www.ttokpm.com/tags/python/' target='_blank' class='arckwlink_none'>Python開發(fā),集合了眾多運(yùn)維工具(puppet、cfengine、chef、saltstack等)的優(yōu)點(diǎn),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能,它一方面總結(jié)了Puppet的設(shè)計(jì)上的得失,另一方面也改進(jìn)了很多設(shè)計(jì)。比如是基于SSH方式工作,故而不需要在被控端安裝客戶端。使得在和OpenStack結(jié)合上沒有歷史包袱,更加能夠輕裝上陣,未來發(fā)展?jié)摿Σ蝗菪∮U號(hào)稱是“你一直尋找的下一代Iaas”的Zstack,使用到的部署工具也是基于Ansible。
  Openstack-ansible項(xiàng)目,最早是由老牌Rackspace公司在Launchpad官網(wǎng)上注冊。
  在最新的Ansible OpenStack項(xiàng)目社區(qū)Commit貢獻(xiàn)中,Rackspace也可謂是遙遙領(lǐng)先,而緊隨其后的是Red Hat、國內(nèi)九州云等公司。
  SaltStack
  SaltStack也是一款開源的自動(dòng)化部署工具,基于Python開發(fā),實(shí)現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運(yùn)行命令等功能,和Ansible也是挺相近的。不同之一是,由于SaltStack的master和minion認(rèn)證機(jī)制和工作方式,需要在被控端安裝minion客戶端,在加之其他原因,自然和Ansible相比,其優(yōu)缺點(diǎn)便很明顯了。
  需要注意的是,使用Saltstack部署OpenStack,并不屬于OpenStack社區(qū)項(xiàng)目。目前,主要還是處于用戶自研自用的階段。據(jù)筆者所知,目前國內(nèi)的攜程應(yīng)該是使用Saltstack部署OpenStack規(guī)模最大的用戶。
  TripleO
  Tripleo項(xiàng)目最早由HP于2013.4在launchpad上注冊BP。用于完成OpenStack的安裝與部署。TripleO全稱“OpenStack On OpenStack”,意思即為“云上云”,可以簡單理解為利用OpenStack來部署OpenStack,即首先基于V2P(和P2V相反,也就是指把虛擬機(jī)的鏡像遷移到物理機(jī)上)的理念事先準(zhǔn)備好一些OpenStack節(jié)點(diǎn)(計(jì)算、存儲(chǔ)、控制節(jié)點(diǎn))的鏡像,然后利用已有openstack環(huán)境的裸機(jī)服務(wù)Ironic項(xiàng)目去部署裸機(jī),軟件安裝部分的diskimage-builder,最后通過Heat項(xiàng)目和鏡像內(nèi)的DevOps工具(Puppet Or Chef)再在裸機(jī)上配置運(yùn)行openstack。
  和其他部署工具不同的是,TripleO利用OpenStack本來的基礎(chǔ)設(shè)施來部署OpenStack,基于Nova、 Neutron、Ironic和Heat,來自動(dòng)化部署和伸縮OpenStack集群。
  應(yīng)當(dāng)確切的說,TripleO項(xiàng)目屬于當(dāng)前OpenStack社區(qū)主推的“Big Tent”開發(fā)模式下的big tent project(OpenStack下的項(xiàng)目分為三種,core project: nova/neutron等核心項(xiàng)目,big tent project: 非核心項(xiàng)目,但也被OpenStack 基金會(huì)接受;第三種就是其它項(xiàng)目,只是放在OpenStack下,但是社區(qū)還沒有接受)。
  在該項(xiàng)目的社區(qū)Commit貢獻(xiàn)上,Red hat可謂是遙遙領(lǐng)先,而緊隨其后的是IBM等公司。
  Wiki:https://wiki.openstack.org/wiki/TripleO Docs:http://docs.openstack.org/developer/tripleo-incubator Governance :http://governance.openstack.org/reference/projects/tripleo.html
  Kolla
  在國內(nèi)一些互聯(lián)網(wǎng)資料上,??吹疥P(guān)于kolla是TripleO項(xiàng)目的一部分這樣的描述,其實(shí)是不準(zhǔn)確的。真實(shí)的是,Kolla項(xiàng)目起源于Tripleo項(xiàng)目,時(shí)至今日,與它沒有任何關(guān)系(雖然它們的目標(biāo)都是做自動(dòng)化部署,但走的道路卻不同)。比之于Tripleo和其他部署工具,Kolla走的是docker容器部署路線。
  kolla項(xiàng)目起源于TripleO項(xiàng)目,聚焦于使用docker容器部署OpenStack服務(wù)。該項(xiàng)目由Cisco于2014年9月提出,是OpenStack的孵化項(xiàng)目。當(dāng)前Kolla項(xiàng)目在Kollaglue repo提供了以下服務(wù)的docker鏡像。
  # docker search kollaglue
  Kolla的優(yōu)勢和使用場景,體現(xiàn)在如下幾個(gè)方面:
  原子性的升級或者回退OpenStack部署; 基于組件升級OpenStack; 基于組件回退OpenStack;
  這里,我們予以拆分來理解:
  Kolla的最終目標(biāo)是為OpenStack的每一個(gè)服務(wù)都創(chuàng)建一個(gè)對應(yīng)的Docker Image,通過Docker Image將升級的粒度減小到Service級別,從而使升級時(shí),對OpenStack影響能達(dá)到最小,并且一旦升級失敗,也很容易回滾。升級只需要三步:Pull新版本的容器鏡像,停止老版本的容器服務(wù),然后啟動(dòng)新版本容器?;貪L也不需要重新安裝包了,直接啟動(dòng)老版本容器服務(wù)就行,非常方便。
  Kolla是通過Docker Compose來部署OpenStack集群的,現(xiàn)在主要是針對裸機(jī)部署的,所以在部署Docker Container時(shí),默認(rèn)的網(wǎng)絡(luò)配置都是Host模式。
  首先,只需要通過一個(gè)命令就可以把管理節(jié)點(diǎn)部署完成,這個(gè)命令是調(diào)用Docker Compose來部署OpenStack的所有服務(wù),然后我們可以在每一個(gè)計(jì)算節(jié)點(diǎn)上通過Docker Compose安裝計(jì)算節(jié)點(diǎn)需要的服務(wù),就能部署一個(gè)OpenStack集群。因?yàn)镵olla的Docker Image粒度很小,它針對每個(gè)OpenStack服務(wù)都有特定的Image,所以我們也可以通過Docker Run來操作某個(gè)具體的OpenStack服務(wù)。
  目前,我所在的公司九州云的一位同事近日獲得提名成為Kolla項(xiàng)目Core。為OpenStack社區(qū)中增添了一份來自于中國的力量。
  Governance:http://governance.openstack.org/reference/projects/kolla.html
  Wiki:https://wiki.openstack.org/wiki/Kolla
  Fuel
  Fuel是針對OpenStack生產(chǎn)環(huán)境目標(biāo) (非開源)設(shè)計(jì)的一個(gè)端到端”一鍵部署“的工具,大量采用了Python、Ruby和Java等語言。其功能含蓋自動(dòng)的PXE方式的操作系統(tǒng)安裝,DHCP服務(wù),Orchestration服務(wù) 和puppet 配置管理相關(guān)服務(wù)等,此外還有OpenStack關(guān)鍵業(yè)務(wù)健康檢查和log 實(shí)時(shí)查看等非常好用的服務(wù)。
  Fuel,這款讓很多人即愛且痛的工具,在國內(nèi)外都很盛名。愛的原因是,它確實(shí)很棒;痛的原因是,要想徹底掌握它,可不是一件容易事(各個(gè)模塊集成度高、使用技術(shù)復(fù)雜)。既然提到Fuel,自然不能不提它的父母——Mirantis。Mirantis是一家技術(shù)實(shí)力非常雄厚的OpenStack服務(wù)集成商,他是社區(qū)貢獻(xiàn)排名前5名中唯一一個(gè)靠OpenStack軟件和服務(wù)盈利的公司。同時(shí),F(xiàn)uel的版本節(jié)奏也很快,平均每半年就能提供一個(gè)相對穩(wěn)定的社區(qū)版。
  從和筆者接觸到的一些情況來看,國內(nèi)研究、使用Fuel的個(gè)人、群體還是為數(shù)不少的。不少國內(nèi)OpenStack初創(chuàng)公司的安裝包就是基于Fuel去修改的。
?

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?