共計 2215 個字符,預(yù)計需要花費 6 分鐘才能閱讀完成。
openstack 是什么?openstack 是一個開源的云計算管理平臺項目,是一系列軟件開源項目的組合。由 NASA(美國國家航空航天局)和 Rackspace 合作研發(fā)并發(fā)起,以 Apache 許可證 (Apache 軟件基金會發(fā)布的一個自由軟件許可證) 授權(quán)。簡單來說,OpenStack 就是一個操作系統(tǒng),一套軟件,一套 IaaS(基礎(chǔ)設(shè)施即服務(wù))軟件,對資源進(jìn)行管理,并且以服務(wù)的形式提供給上層應(yīng)用或者用戶去使用。
OpenStack 的發(fā)展歷史:
OpenStack 是由美國國家航空航天局 (NASA) 和 Rackspace 合作研發(fā),Apache 許可的開源項目。項目自 2010 年成立,發(fā)布了該項目的第一個版本 Austin,該版本是當(dāng)時第一個開源的云計算平臺項目。此后,OpenStack 基本每半年發(fā)行一個新版本,截至目前最新版本是第二十四版本 Xena,不同于其他軟件的版本號采用數(shù)字編碼,OpenStack 采用一個單詞來描述不同的版本,其中單詞首字母指明版本的新舊。比如目前的版本 Xena 就比之前的 Wallaby 要新,同時“X”在 26 個字母中排行第二十四,所以稱第二十四版本。各個版本的發(fā)行時間表參考網(wǎng)站 https://releases.openstack.org/。
OpenStack 能做什么?
OpenStack 的主要目標(biāo)是管理數(shù)據(jù)中心的資源,簡化資源分配。它管理三部分資源,分別是:
計算資源:OpenStack 可以規(guī)劃并管理大量虛擬機,從而允許企業(yè)或服務(wù)提供商按需提供計算資源; 開發(fā)者可以通過 API 訪問計算資源從而創(chuàng)建云應(yīng)用,管理員與用戶則可以通過 web 訪問這些資源;
存儲資源:OpenStack 可以為云服務(wù)或云應(yīng)用提供所需的對象及塊存儲資源。因為對性能及價格有需求,很多組織已經(jīng)不能滿足于傳統(tǒng)的企業(yè)級存儲技術(shù),因此 OpenStack 可以根據(jù)用戶需要提供可配置的對象存儲或塊存儲功能;
網(wǎng)絡(luò)資源:如今的數(shù)據(jù)中心存在大量的配置工作,如服務(wù)器、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備、安全設(shè)備均需要配置,而它們還將被劃分成更多的虛擬設(shè)備或虛擬網(wǎng)絡(luò); 這會導(dǎo)致 IP 地址的數(shù)量、路由配置、安全規(guī)則將爆炸式增長; 傳統(tǒng)的網(wǎng)絡(luò)管理技術(shù)無法真正的可高擴(kuò)展、高自動化地管理下一代網(wǎng)絡(luò); 因而 OpenStack 提供了插件式、可擴(kuò)展、API 驅(qū)動型的網(wǎng)絡(luò)及 IP 管理功能;
OpenStack 的典型架構(gòu)和功能如下圖所示:
OpenStack 的典型架構(gòu)和功能映射
表示層:負(fù)責(zé)與用戶交互,主要包含一些圖形化界面的 web 門戶網(wǎng)站(用于提供給非開發(fā)人員進(jìn)行界面操作),同時該部分還提供了供開發(fā)人員進(jìn)行二次開發(fā)的 API 接口。該部分還包括一些更高級的特性,例如:負(fù)載均衡、控制臺代理安全和命名服務(wù)。
邏輯層:提供云服務(wù)的智能控制功能,如:orchestration(負(fù)責(zé)任務(wù)的工作流管理)、scheduling(任務(wù)到資源的調(diào)度管理)、policy(配額等服務(wù))、image registry(鏡像實例的元數(shù)據(jù)管理)和 logging(事件計費管理)。
資源層:包含計算、網(wǎng)絡(luò)和存儲等物理資源。
OpenStack 的核心項目
OpenStack 覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個方面。根據(jù)成熟及重要程度的不同,被分解成核心項目、孵化項目,支持項目和相關(guān)項目。每個項目都有自己的委員會和項目技術(shù)主管,而且每個項目都不是一成不變的,如孵化項目可以根據(jù)發(fā)展的成熟度和重要性,轉(zhuǎn)變?yōu)楹诵捻椖俊?/p>
OpenStack 項目間的邏輯關(guān)系如下圖所示:
OpenStack 項目間的邏輯關(guān)系
以下列舉 OpenStack 的 6 個最重要的核心項目。
Keystone:Keystone 是 OpenStack 的認(rèn)證服務(wù),Keystone 為所有的 openstack 組件提供認(rèn)證和訪問策略服務(wù),它依賴自身 REST 系統(tǒng)進(jìn)行工作,主要對 Swift、Glance、Nova 等進(jìn)行認(rèn)證與授權(quán),它對動作消息中的來源者進(jìn)行合法性鑒定。Keystone 采用兩種授權(quán)方式,一種基于用戶名 / 密碼,另一種基于令牌(Token)。除此之外,Keystone 提供以下三種服務(wù):
令牌服務(wù):令牌中含有授權(quán)用戶或群組的授權(quán)信息,授權(quán)給合法用戶或群組。
目錄服務(wù):目錄中含有合法用戶或群組的可用服務(wù)列表。
策略服務(wù):利用 Keystone 具體指定用戶或群組的某些訪問權(quán)限。
Nova:Nova 是一套控制器,用于為單個用戶或使用群組管理虛擬機實例的整個生命周期,根據(jù)用戶需求來提供虛擬服務(wù),Nova 負(fù)責(zé)管理整個云的計算資源、網(wǎng)絡(luò)資源、授權(quán)及測度。雖然 Nova 本身并不提供任何虛擬能力,但是它將使用 libvirt API 與虛擬機的宿主機進(jìn)行交互。Nova 通過 Web 服務(wù) API 來對外提供處理接口。
Glance:Glance 負(fù)責(zé) OpenStack 的鏡像服務(wù),Glance 是一套虛擬機鏡像發(fā)現(xiàn)、注冊、檢索系統(tǒng),它提供虛擬機鏡像的存儲,查詢和檢索功能,為 nova 進(jìn)行服務(wù),依賴于存儲服務(wù)和數(shù)據(jù)庫服務(wù)。
Swift:Swift 為 OpenStack 提供了一種分布式、持續(xù)虛擬對象存儲。Swift 具有跨節(jié)點的存儲能力。Swift 組件有冗余和失效備援管理功能,也能夠處理歸檔和媒體流,特別是對大數(shù)據(jù)和大容量的測度非常高效。
Cinder:Cinder 是 OpenStack 的塊存儲服務(wù)組件,它管理所有塊存儲設(shè)備,為 VM 服務(wù)。
Neutorn:Neutorn 為 OpenStack 提供虛擬的網(wǎng)絡(luò)功能,為每個不同的租戶建立獨立的網(wǎng)絡(luò)環(huán)境。