openstack基礎構架以及服務方式解析

夢共裡醉發表於2020-02-03
Rackspace是(美國航天局)和NASA(一家公司)共同發起的開源專案,他是一系列軟體專案的組合。
這些專案是松耦合的關係,可以進行獨立的安裝,啟動和停止,只有在必要的時候才進行通訊(優點:擴充套件性好,安全性高,缺點:安裝和配置比較複雜)
一:什麼是openstack

Rackspace是(美國航天局)和NASA(一家公司)共同發起的開源專案,他是一系列軟體專案的組合。
這些專案是松耦合的關係,可以進行獨立的安裝,啟動和停止,只有在必要的時候才進行通訊(優點:擴充套件性好,安全性高,缺點:安裝和配置比較複雜)

二:openstack的主要功能元件
1:簡介

主要分為5個不同的層次16個不同功能模組:

Presentation【表示層】:api模組,ui模組

Logic(Control)【邏輯控制層】:Orchostration【編排服務】,Scheduling【排程服務】,Policy【策略服務】,Image Registry【映象註冊服務】,Logging【日誌服務】

Resource【資源管理層】:Compute【計算資源管理模組】,Volume【儲存資源管理模組】,Network【網路資源管理模組】

Integration【整合層】:Billing【計量模組】,Identity【身份認證模組】

Mabagement【管理層】:Admin【管理api】,Monitoring【監測】

子專案是怎樣對接起來的:

Horizon-UI服務:對應User Dashboard【雲下服務給運維使用者使用】和Customer Portal【給雲上使用者使用】

Keystone-身份認證:對應Identity

Nova-計算服務模組:Compute API,scheduling【排程服務】,policy【策略服務】和Compute【計算管理模組】以及部分Admin API

Glance-映象服務:Image Registry【映象註冊】,Image Registry【映象API】

Cinder【塊儲存】/swift【網路物件儲存】-儲存服務:volume【儲存資源管理模組】

Neutron-網路服務:Network【網路資源管理模組】

Heat-編排組織服務:Orchostration【編排服務】

Ceilometer-監控計量服務:Billing【計量模組】,,Monitoring【監測】

2:Horizon-UI模組

主要服務為openstack使用者提供UI服務,也就是負責使用者在管理控制檯上的所有操作轉化為後臺API的呼叫。

使用者:雲管理員【負責整個雲平臺的運營,資源管理和分配】,普通雲使用者【在配額範圍內,自由操作,使用資源】

雲管理員介面:
openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析

3:Keystone-身份認證模組

主要負責openstack中的身份認證和許可權控制,

User:即使用者,代表可以透過keystone進行訪問的人或者程式,User透過認證資訊(如密碼,api Key等)進行驗證

Tenant:即租戶,它是各個服務中的一些可以訪問的資源集合

Role:即角色,代表一組使用者可以訪問資源的許可權

一家人【租戶】租用了一百平米的房子【角色許可權】那麼這家人每個人【使用者】的管理許可權是不同的,父母比孩子的管理許可權大。
Service:即服務,如Nova,Glance,Swift。服務只有在keystone上進行註冊才能被分配

Endpoint:一個服務暴露出來的訪問點,如果要訪問一個服務,則必須要知道他的endpoint

Token:訪問資源的令牌,相當於鑰匙

keystone到底提供了什麼服務:

Identity服務:驗證了身份驗證憑證。

Token服務:將會驗證並管理用於驗證請求身份的令牌

Catalog:每個服務需要在keystone上進行註冊,而他們就是註冊在catalog上

Policy:決定每個使用者有哪些訪問控制的許可權

4:Nova-計算服務

openstack的核心服務。

一:主要功能包括:

1:例項生命週期管理:例項的建立,刪除,啟動,停止

2:計算資源的管理

3:向外提供Rest風格的API

二:3個不同的功能模組組成

nova-api:位於表示層主要接受外部的rest請求

nova-scheduler:位於邏輯控制層,主要負責居中調停,選擇由哪個主機建立vm

nova-compute:負責虛擬機器測建立,以及資源的分配,本身並不提供任何虛擬化功能,但他卻支援不同的虛擬機器形式

他們之間並不是聽過直接傳遞,而是透過訊息中介軟體進行訊息的傳遞
openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析

5: Glance-映象服務

功能:提供虛擬機器映象的儲存,查詢和檢索服務

主要為Nova元件提供服務,透過nova建立虛擬機器的時候,就必須聽過glance獲取相應的映象,然後根據映象建立虛擬機器。

依賴於儲存服務和資料庫服務:儲存服務用於儲存映象本身,資料庫服務主要用於儲存跟映象相關的各種後設資料

glance的架構圖
openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析

6:swift-儲存服務

功能:對外提供高可用分散式物件儲存服務

特點:無限可擴充套件,沒有端點故障,使用swift不用擔心使用的物件會丟失,因為它本身就提供高可用的功能

可以透過HTTP(S),object api及s3介面存取

swift原理圖

所有的請求都透過proxy進行處理,透過proxy到合適的Account下面找相應的Containe中的某一個object進行儲存服務

在這中間會針對不同的object進行復制,從而保證某一個物件的資訊丟失時能夠從其他地方找回來
openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析

7:cinder-塊儲存服務

功能:管理所以的塊儲存裝置,為vm服務,

物件儲存服務主要用於儲存分散式的物件,也就意味著你可以從任何地方發起請求儲存你的物件

塊儲存服務是本地的,它只能掛在vm上進行使用

cinder原理圖:

當一個請求發來時,首先還是傳送到cinder本身的api上面,api模組對發過來的請求進行處理,處理後的結果透過訊息中介軟體進行傳遞,透過訊息中介軟體mq傳到cinder-scheduler上面再透過排程器,

再決定到哪裡申請塊儲存服務,並且建立一個vm,cinder具體的儲存模組的管理都是透過cinder-volume來進行生命週期管理
openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析

8:Neutron-網路服務

功能:提供雲端計算環境下的虛擬網路功能,為每個租戶建立獨立的網路環境

三種模式:

Flat模式:網橋模式,所有的都需要手工配置

Flat DHCP模式:網橋模式,在閘道器處單獨取了一個DHCP的程式,可以輔助使用者進行網路配置

VLAN模式:為每個不同的租戶設定了不同的虛擬子網,在這個虛擬子網中,使用者可以有自己的ip

三:元件間關係和訪問流程
1:元件之間的關係

openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析

2:訪問控制流程

openstack基礎構架以及服務方式解析openstack基礎構架以及服務方式解析


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2674388/,如需轉載,請註明出處,否則將追究法律責任。

相關文章