您好,登錄后才能下訂單哦!
看了網(wǎng)上的一些博客對OpenStack架構的描述,大部分都是將官網(wǎng)的架構圖截取下來(還是純英文文字描述的圖片)或者直接將描述翻譯為中文直接復制粘貼過來了。如果對于初學者而言,這或許是有字天書了。所以筆者先前的一篇文章是介紹了關于OpenStack的基礎知識和核心的組件服務。而本文先從OpenStack部署的節(jié)點結(jié)構描述,再來對其整體架構進行闡述。
在介紹OpenStack的節(jié)點類型之前我們先對OpenStack做一些知識補充。
OpenStack是適用于所有類型云的開源云計算平臺,其目標是易于實現(xiàn),可大規(guī)模擴展且功能豐富。
OpenStack是通過一組互相關聯(lián)的服務組件提供IaaS(基礎設施即 服務)解決方案。我們在實驗環(huán)境或生產(chǎn)環(huán)境中部署OpenStack實踐之前,都需要對其各種類型的節(jié)點及對應安裝的服務有所了解。
OpenStack的節(jié)點類型有以下四個類型:
下面我們對這四個節(jié)點類型注意介紹。
控制節(jié)點包括了管理支持服務、基礎管理服務和擴展管理服務。
相對于OpenStack而言,該服務屬于底層的一些軟件安裝,用于給相關的組件提供服務。例如安裝數(shù)據(jù)庫軟件、消息隊列軟件、Memorycache和Etcd等。
該服務主要安裝了一些核心的服務,例如Kystone、Glance、Nova,也可以安裝Neutron和Horizon服務。用于提供用戶基礎的控制與管理。
擴展管理服務是可選的一些組件的安裝,例如存儲管理,數(shù)據(jù)庫服務等。包括Cinder、Swift、Trove、Heat和Ceilometer主要的可選服務。
此外,控制節(jié)點一般來說需要通過網(wǎng)絡端口實現(xiàn)同各個節(jié)點之間的通信或者管理。
網(wǎng)絡節(jié)點有且僅有Neutron服務,就是網(wǎng)絡服務。
Neutron主要負責管理私有網(wǎng)段和公有網(wǎng)段之間的通信,同時管理虛擬機網(wǎng)絡之間的通信以及防火墻等等。
一般在部署時會部署兩個以上的網(wǎng)絡端口,分別用于與控制節(jié)點通信、同計算/存儲節(jié)點通信、用于外部的虛擬機與相應的網(wǎng)絡之間的通信。
計算節(jié)點主要包含計算服務、網(wǎng)絡服務以及監(jiān)控服務。基礎服務是前兩個,監(jiān)控可以擴展選擇。
存儲包含的是塊存儲以及對象存儲。這兩者雖然都是存儲,但是本質(zhì)上有著巨大的不同。
塊存儲相當于虛擬出的一塊磁盤,可以掛載在對應的虛擬機上,不會受到文件系統(tǒng)的影響,一般是用于虛擬機空間不足時擴容場景;而對象存儲,本質(zhì)上是虛擬出一塊磁盤空間,可以存儲文件,但不能進行格式化或轉(zhuǎn)換文件系統(tǒng),一般用于云磁盤/文件。
當我們對實驗環(huán)境或者生產(chǎn)環(huán)境中部署OpenStack的節(jié)點類型有所了解的前提下,我們來從兩個方面簡要說明一下OpenStack的整體架構,該架構是從官方文檔中截取,主要從概念和邏輯兩個方面進行劃分。
當然我們還是要遵循官方文檔的相關資料,不過這里筆者將對整個內(nèi)容稍作詳細的講述,畢竟本文是對一些有網(wǎng)絡,群集和linux操作系統(tǒng)基礎而又想入門OpenStack的人群提供較為細致的描述與介紹。
如下圖,顯示的是OpenStack服務之間的關系。筆者將其稱之為OpenStack整體概念圖。它很好的顯示了OpenStack的典型項目,并且將各個服務聯(lián)系起來。雖然未必一開始就能完全弄懂,但是我們可以通過此圖從整體上對OpenStack的概念有進一步的理解。
那么我們?nèi)绾慰催@幅概念架構圖呢?
嗯,可以花幾分鐘自己先大致看一下這個架構圖,結(jié)合上篇文章的內(nèi)容看看有多少是有些印象的。然后去搜索一下相關的介紹,筆者起初也是通過Google瀏覽器去到官網(wǎng)看官方文檔,然后發(fā)現(xiàn)不是非常容易理解,然后就去找資料,聽聽課等等,從網(wǎng)上找的博客文章呢,大多都是截取官網(wǎng)的圖片和復制了官方的簡要說明。如果你懶得去動手搜索,那就聽聽筆者的理解吧。當然筆者能力有限,如有紕漏之處希望您在下方留言指正。
筆者將上圖做一下標記,方便介紹,請參照下圖:
首先,整體上來看,我們比較熟悉的應該是上圖中的加色部分,我們稱之為OpenStack的各種項目,也對應著各種服務;下面的表述中可以將服務和項目認為是同一種意思。
那么我們先看中間的紅色部分,VMs表示的是虛擬機實例,如果大家玩過或體驗過阿里云的一些服務就對此有一定理解了。其實對于OpenStack而言,虛擬機實例就是為客戶提供虛擬的服務,包括CPU、內(nèi)存、帶寬、存儲等等資源。而這些實例需要由OpenStack各個服務的支持,也包括對其提供相對應的資源和對其進行管理操作。
其次我們看紅色方框,這里的服務有一個共同特點——全局性。例如:Keystone,我知道該服務是提供認證的,而需要認證的地方(服務)也是非常多的,Ceilometer服務提供的監(jiān)控和Horizon服務提供的可視化界面操作管理也是一個道理。而之所以將這三個服務與下面的Swift服務(對象存儲)標注同一色塊,是因為該四個組件服務相對綠色塊而言沒有那么核心。當然這里只是筆者的理解,其實上圖給出的各種組件服務都是常見常用的,大家還是要多多了解。
其次我們來看紫色方框,這里除了先前講述的虛擬機實例和對象存儲服務,還有四個(綠色塊)最為核心的項目,以及其他四個項目。
核心的項目介紹:Glance提供鏡像,Nova提供計算服務(例如可以通過Nova進行數(shù)據(jù)處理實例等),Neutron提供網(wǎng)絡服務(各個節(jié)點通信,內(nèi)外網(wǎng)之間通信以及與內(nèi)部組件之間的通信(有對應的API接口)),Cinder提供的就是存儲,相當于一個磁盤。
剩下的四個項目介紹:
Ironic項目,裸金屬,還記得上篇文章中我們提到的Bare Metal嗎?其實裸金屬項目是OpenStack的一個比較特別的項目,是針對一些特殊的場景創(chuàng)建的,主要是為了指定在一臺或多臺裸機上執(zhí)行操作,例如部署大數(shù)據(jù)集群時同時部署多臺物理機的場景,Ironic便可以實現(xiàn)硬件基礎設施資源的快速交付。
另外,在一些特殊的應用場景下,用戶需要直接使用物理服務器資源來滿足特定需求的可行性和高效性,因此這也是OpenStack支持該項目的原因之一。
Trove項目,是OpenStack提供的數(shù)據(jù)庫即服務的項目。主要是為了使用戶能夠快速輕松地利用關系數(shù)據(jù)庫的功能,而無需承擔處理復雜管理任務的負擔。云用戶和數(shù)據(jù)庫管理員可以根據(jù)需要配置和管理多個數(shù)據(jù)庫實例。
Heat項目,是OpenStack提供的編排服務,用于通過運行OpenStack API調(diào)用來生成正在運行的云應用程序,描述云應用程序。使用模板,可以創(chuàng)建大多數(shù)OpenStack資源類型,例如實例,浮動IP,卷,安全組和用戶。它還提供了高級功能,例如實例高可用性,實例自動縮放和嵌套堆棧。這使OpenStack核心項目能夠獲得更大的用戶群。
Sahara項目,是OpenStack提供的數(shù)據(jù)處理服務,主要是為用戶提供一種簡單的方法來在OpenStack上預配數(shù)據(jù)處理框架(例如Hadoop,Spark和Storm)。這可以通過指定配置參數(shù)(例如框架版本,群集拓撲,節(jié)點硬件詳細信息等)來完成。
當然這里主要是對上面的一些項目對應的功能和已經(jīng)兩兩之間的關聯(lián)進行了簡單介紹,主要是要對其中的服務之間的聯(lián)系有所了解,也就是要對黑色的英文單詞與短語翻譯理解,從而了解各個服務項目之間的聯(lián)系。
如果對上圖的英文不太熟悉或者還是覺得還是比較抽象的話,可以參考下面的簡化之后架構,可能方便大家理解。
以上就是筆者對官方給出的OpenStack概念架構的介紹。其中涉及的重要組件服務在之后會逐一做更加細致的介紹。
下面我們來看看官方給出的邏輯架構圖。
下面我們來談談OpenStack的邏輯架構,官方給出的邏輯架構(常見架構但并不唯一)如下圖所示:
從上圖我們可以發(fā)現(xiàn)與概念架構的相同之處就是相對應的組件服務還是在的,不過區(qū)別也非常明顯,邏輯架構有了直觀的內(nèi)外網(wǎng)的區(qū)分,并且將各個組件服務用虛線框隔開,每個框內(nèi)包含對應組件服務的一些存儲,功能模塊和API調(diào)用接口等,而又將各個組件之間用實現(xiàn)連接,表示出各個組件服務之間的邏輯關系。
不過若是詳細講述該邏輯架構委實枯燥,或許仍然會覺得復雜而抽象,并且筆者前面也說了這也是官方給出的常見架構,并不唯一。下面是簡化版本的邏輯架構圖和介紹。
用戶或管理者可以通過網(wǎng)絡來使用或管理OpenStack云平臺系統(tǒng),主要有上圖給出的三種方法:命令行接口(對應的相關組件接口的調(diào)用)、云管理工具如Rightscale和Enstratius等等、圖形化界面工具如Dashboard、Cyberduck等等。筆者使用過OpenStack提供的組件Dashboard,Horizon項目提供的Web圖形化界面工具來創(chuàng)建、管理該云平臺。如果有使用過阿里云相關服務的經(jīng)驗,就更加好理解了。本文最后會給出筆者先前在筆記本的虛擬機上搭建部署的多節(jié)點的OpenStack云平臺在本地登錄的Web界面圖。
而在OpenStack內(nèi)部,每個組件服務都有自己的邏輯架構,一般由功能模塊、數(shù)據(jù)庫或?qū)蠖艘约昂推渌M件進行交互的API接口,這些接口則是通過消息隊列來實現(xiàn)通信的,某些專業(yè)術語和名詞之后也會整理出來。
因此,理解OpenStack的邏輯架構可以從整體到局部再到個體來理解。
下面演示以下如何登錄OpenStack管理使用界面,即Horizon項目提供的儀表板UI界面。
1、首先網(wǎng)頁中輸入本地控制節(jié)點ip地址,進入OpenStack儀表板登錄界面
2、查詢登錄用戶名和密碼(這里作為管理員登錄)
3、對照上圖登錄即可進入儀表板web管理界面
本文主要介紹了OpenStack的架構,從概念和邏輯兩個方面進行簡要闡述,最后給出筆者部署OpenStack時由Horizon項目提供的Web界面示例圖。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。