1. 程式人生 > >OpenStack架構分析

OpenStack架構分析

1、總體架構

下圖是OpenStack各Services之間的相互關係。

Nova:管理VM的生命週期

Neutron:為其它元件提供網路連線服務,負責建立和管理L2、L3網路。

Glance:管理VM映象

Cinder:提供塊儲存服務

Keystone:為其它元件提供認證和許可權管理服務

Ceilometer:提供監控告警和計量計費服務

Horizon:為使用者提供一個基於Web的自服務Portal

Swift:提供物件儲存服務

Trove:提供資料庫服務

Ironic:提供裸金屬管理服務

Heat:提供資源編排能力

Sahara:提供在OpenStack上構建大資料服務的能力

下圖是各Services的元件及相互關係。

下圖是部署Openstack所需要的硬體主機要求。

Controller Node

控制器節點為核心節點,執行身份服務,映像服務,計算的管理部分,網路的管理部分,各種網路代理和儀表板。它還包括支援服務,如SQL資料庫,訊息佇列和NTP。

塊儲存,物件儲存,編排和遙測服務的一部分為控制器節點的可選配置。

Compute Node

計算節點為核心節點,執行Nova的Compute部分。可以部署多個計算節點。

Block Storage Node

塊儲存節點為可選節點,包含塊儲存和共享檔案系統服務為虛機提供磁碟。可以部署多個塊儲存節點。

Object Storage Node

物件儲存節點為可選節點,包含物件儲存服務用於儲存帳戶,容器和物件的磁碟。服務需要兩個節點,可以部署多個物件儲存節點。

下圖為各服務元件部署總攬:

2、Nova

2.1、Nova功能

Nova是OpenStack最核心的Service,負責維護和管理雲環境中的計算資源。主要有如下功能:

虛擬機器生命週期管理

虛擬機器資源動態調整

虛擬機器遷移

主機管理

叢集管理

金鑰對管理

2.2、Nova架構

nova-api
接收和響應客戶的 API 呼叫。

除了提供 OpenStack 自己的API,nova-api 還支援 Amazon EC2 API和特殊管理API。

nova-scheduler
虛機排程服務,負責決定在哪個計算節點上執行虛機

nova-compute
管理虛機的核心服務,通過呼叫 Hypervisor API 實現虛機生命週期管理。

Hypervisor
常用的 Hypervisor 有 KVM,Xen, VMWare,Hyper-V,Docker,LXC 等

nova-conductor
nova-compute 經常需要更新資料庫,比如更新虛機的狀態。

出於安全性和伸縮性的考慮,nova-compute 並不會直接訪問資料庫,而是將這個任務委託給 nova-conductor。

nova-console
使用者可以通過多種方式訪問虛機的控制檯:

nova-novncproxy,基於 Web 瀏覽器的 VNC 訪問

nova-spicehtml5proxy,基於 HTML5 瀏覽器的 SPICE 訪問

nova-xvpnvncproxy,基於 Java 客戶端的 VNC 訪問

nova-consoleauth
負責對訪問虛機控制檯提供 Token 認證

nova-cert
提供 x509 證書支援

Database
Nova 會有一些資料,比如虛機構建時間和執行時狀態資訊,需要存放到資料庫中,一般使用 MySQL。

Message Queue
Nova 包含眾多的子服務,這些子服務之間需要相互協調和通訊。為解耦各個子服務,Nova 通過 Message Queue 作為子服務的資訊中轉站。OpenStack 預設是用 RabbitMQ 作為 Message Queue。

2.3、Nova部署方案

在控制節點上部署nova-api、nova-scheduler、nova-console、Database、Message Queue、nova-cert、nova-conductor和nova-consoleauth元件;

在計算節點上部署 Hypervisor和nova-compute元件。

2.4、Nova各模組協同工作的例子:虛機建立

客戶(可以是 OpenStack 終端使用者,也可以是其他程式)向 API(nova-api)傳送請求:“幫我建立一個虛機”
API 對請求做一些必要處理後,向 Messaging(RabbitMQ)傳送了一條訊息:“讓 Scheduler 建立一個虛機”
Scheduler(nova-scheduler)從 Messaging 獲取到 API 發給它的訊息,然後執行排程演算法,從若干計算節點中選出節點 A
Scheduler 向 Messaging 傳送了一條訊息:“在計算節點 A 上建立這個虛機”
計算節點 A 的 Compute(nova-compute)從 Messaging 中獲取到 Scheduler 發給它的訊息,然後在本節點的 Hypervisor 上啟動虛機。
在虛機建立的過程中,Compute 如果需要查詢或更新資料庫資訊,會通過 Messaging 向 Conductor(nova-conductor)傳送訊息,Conductor 負責資料庫訪問。
 

3、Glance

3.1、Glance功能

Glance提供的是Image Service,具體功能如下:

提供REST API讓使用者能夠查詢和獲取映象及元資料
支援多種儲存方式儲存映象,包括普通檔案系統、Swift、Amazon S3等等
支援快照功能。例如,對虛擬機器例項進行快照操作,以建立新的映象
3.2、Glance架構

glance-api
glance-api是系統後臺執行的服務程序。對外提供REST API,響應image查詢、獲取和儲存等操作請求。如果請求與image metadata相關,它會把請求轉發給glance-registry;如果請求與image自身存取相關,則把請求轉發給該image的store backend。

glance-registry
glance-registry負責處理和存取 image 的 metadata,例如 image 的大小和型別。Glance支援的image格式包括:Raw、vhd、vmdk、VDI、ISO、QCOW2、aki、ari、ami。

database
Image的metadata儲存在database中,預設使用MySQL。

Glance-Store
Glance自己並不儲存image,真正的image存放在backend中。

Glance支援的backend包括:

A directory on a local file system(預設配置)
GridFS
Ceph RBD
Amazon S3
Sheepdog
OpenStack Block Storage (Cinder)
OpenStack Object Storage (Swift)
VMware ESX
3.3、Glance部署

Glance的所有元件都部署在控制節點上。

4、Cinder

4.1、Cinder功能

OpenStack 提供 Block Storage Service 的是 Cinder,其具體功能是:

提供 REST API 使使用者能夠查詢和管理 volume、volume snapshot 以及 volume type,實現volume生命週期管理
提供 scheduler 排程 volume 建立請求,合理優化儲存資源的分配
通過 driver 架構支援多種 back-end(後端)儲存方式,包括 LVM,NFS,Ceph 和其他諸如 EMC、IBM 等商業儲存產品和方案
4.2、Cinder架構

cinder-api
接收 API 請求,呼叫 cinder 其他子服務的處理客戶端請求。

cinder-scheduler
scheduler 通過排程演算法選擇最合適的儲存節點建立 volume。

cinder-volume
管理 volume 的服務,與 volume provider 協調工作,管理 volume 的生命週期。執行 cinder-volume 服務的節點被稱作為儲存節點。

cinder-volume 自身並不管理真正的儲存裝置,儲存裝置是由 volume provider 管理的。cinder-volume 與 volume provider 一起實現 volume 生命週期的管理。

Volume provider
資料的儲存裝置,為 volume 提供物理儲存空間。

cinder-volume 支援多種 volume provider,每種 volume provider 通過自己的 driver 與cinder-volume 協調工作。

Message Queue
在塊儲存程序之間傳遞資訊。

4.3、Cinder部署

Cinder一般如下部署:

Cinder-api 與 Cinder-scheduler 部署在控制節點上。

Cinder-volume 與 Cinder-provider 部署在各個塊儲存節點上。

Message Queue 與 Database 使用 Openstack 全域性的MQ與DB服務,部署在控制節點上。

Cinder-volume 與 Cinder-provider 中分別配置提供卷儲存及物件儲存的後端服務地址。

5、Neutron

5.1、Neutron功能

Neutron 為整個 OpenStack 環境提供網路支援,包括二層交換,三層路由,負載均衡,防火牆和 VPN 等。

5.2、Neutron架構

Neutron Server
對外提供 OpenStack 網路 API,接收請求,並呼叫 Plugin 處理請求。管理網路、子網和埠,以及埠的IP。

Plugin
處理 Neutron Server 發來的請求,以框架方式,維護 OpenStack 邏輯網路狀態, 並呼叫 Agent 處理請求。

Agent
處理 Plugin 的請求,負責在提供網路服務的虛擬或物理網路裝置,例如 Linux Bridge,Open vSwitch 或者其他支援 Neutron 的物理交換機上真正實現各種網路功能。

包括以下Agent:

L2 Agent,連線虛擬機器到網路埠

L3 Agent,為虛擬機器訪問外部網路提供服務,負責其它層三服務,比如負載均衡等

DHCP Agent,負責DHCP配置,為虛擬機器分配IP

將Neutron架構展開,將會得到以下更詳細的架構圖:

Neutron 通過 plugin 和 agent 提供的網路服務。
plugin 位於 Neutron server,包括 core plugin 和 service plugin。
agent 位於各個節點,負責實現網路服務。
core plugin 提供 L2 功能,ML2 是推薦的 plugin。
使用最廣泛的 L2 agent 是 linux bridage 和 open vswitch。
service plugin 和 agent 提供擴充套件功能,包括 dhcp, routing, load balance, firewall, vpn 等
5.3、Neutron部署

Neutron的元件部署分為兩種:Provider部署和Self-service部署。

Message Queue 與 Database 使用 Openstack 全域性的MQ與DB服務,一般部署在控制節點上。

Provider Network:

Provider網路主要採用2層(橋接/交換)服務和網路的VLAN分段。本質上,它將虛擬網路橋接到物理網路,並依靠物理網路基礎設施來實現第3層(路由)服務。具體部署如下:

如圖所示,將Server、ML2 Plug-in、Linux Bridge Agent和DHCP Agent部署在控制節點上;

將Linux Bridge Agent部署在計算節點上。

Self-service Networks:

Self-service網路允許使用諸如VXLAN的覆蓋分段方法的自助服務網路的第3層(路由)服務來增強提供商網路選項。本質上,它使用NAT將虛擬網路路由到物理網路。具體部署如下:

如圖所示,將Server、ML2 Plug-in、Linux Bridge Agent、DHCP Agent和L3 Agent部署在控制節點上;

將Linux Bridge Agent部署在計算節點上。

6、Keystone

6.1、Keystone功能

Keystone(OpenStack Identity Service)在OpenStack框架中負責身份驗證、服務規則和服務令牌的功能。

Openstack所有的元件都依賴Keystone(單點的),它集成了三個功能:

管理身份驗證(managing authentication):驗證使用者身份
授權(authorization):基於角色role的許可權管理
服務目錄(catalog of services):提服務目錄(ServiceCatalog:包括service和endpoint)服務,類似於UDDI服務的概念,使用者(無論是Dashboard, APIClient)都需要訪問Keystone獲取服務列表,以及每個服務的地址(Openstack中稱為Endpoint)。
6.2、Keystone架構

Keystone-all
Keystone-all包含三類元件:

Server, 一個集中化的服務,使用RESTful介面提供認證和授權服務。
Drivers, 指的是被整合到server內的驅動或者服務後端,它們被用來在openstack元件之外的庫中訪問身份資訊(比如, SQL databases or LDAP servers).
Modules, 中介軟體執行在正在使用認證服務的openstack元件的地址空間,這些模組(中介軟體)攔截服務請求,提取使用者的credentials,並且把它們傳送給server去認證授權,在openstack中介軟體與openstack元件直接的整合操作使用Python Web Server Gateway Interface,即wsgi
Database
由Drivers對接的資料庫,用於記錄認證、授權資訊與狀態,通常為mysql。

LDAP
可選的目錄服務,由Drivers對接。

將keystone具體展開可以得到如下的架構圖:

Keystone API

Keystone API劃分為Admin API和Public API:

Public API不僅實現獲取版本以及相應擴充套件資訊的操作,同時包括獲取Token以及Token租戶資訊的操作;
Admin API主要提供服務開發者使用,不僅可以完成Public API的操作,同時對User、Tenant、Role和Service Endpoint進行管理操作。
Router

Keystone Router主要實現上層API和底層服務的對映和轉換功能,包括四種Router型別。

AdminRouter
負責將Admin API請求對映為相應的行為操作並轉發至底層相應的服務執行;

PublicRouter
與AdminRouter類似;

PublicVersionRouter
對系統版本的請求API進行對映操作;

AdminVersionRouter
與PublicVersionRouter類似。

Services

Keystone Service接收上層不同Router發來的操作請求,並根據不同後端驅動完成相應操作,主要包括六種型別; 

Identity Service 
Identity Service提供關於使用者和使用者組的授權認證及相關資料。

Resource Service
Resouse服務提供關於projects和domains的資料

Assignment Service 
Assignment Service提供role及role assignments的資料

Token Service 
Token Service提供認證和管理令牌token的功能,使用者的credentials認證通過後就得到token

Catalog Service
Catalog Service提供service和Endpoint相關的管理操作(service即openstack所有服務,endpont即訪問每個服務的url)

Policy Service 
Policy Service提供一個基於規則的授權驅動和規則管理

Backend Driver

Backend Driver具有多種型別,不同的Service選擇不同的Backend Driver。

6.3、Keystone部署

Keystone部署在控制節點上。

7、Horizon

7.1、Horizon功能

Horizon是一個web介面,使得雲平臺管理員以及使用者可以管理不同的OpenStack資源以及服務。功能如下:

提供一個Web介面操作OpenStack系統

使用Django框架基於OpenStack API開發

支援將session儲存在DB、Memcached

支援叢集

7.2、Horizon架構

Horizon內部為Diango的架構, 外部表現為呼叫各元件提供的API進行對元件操作。

7.3、Horizon部署

Horizon部署在控制節點。

8、Ceilometer

8.1、Ceilometer功能

Ceilometer元件用於監視和計量OpenStack雲計費,基準測試,可擴充套件性和統計目的。提供以下功能:

主動輪詢測量與OpenStack服務相關的資料。
通過監視服務傳送的通知來收集事件和計量資料。
將收集的資料釋出目的主機。
8.2、Ceilometer架構

Ceilometer-api
在一個或多箇中央管理伺服器上執行,以從資料儲存提供資料訪問。

Collector
在中央管理伺服器上執行,並將收集的資料無修改的分發到資料儲存或外部使用者。

Agent-notification
在中央管理伺服器上執行,從訊息佇列中的自定義資訊以構建事件和計量資料。

Agent-compute
在每個計算節點上執行,輪詢統計資源利用率資訊。將來可能有其他型別的代理,但現在我們的重點是建立計算代理。

Agent-central
在中央管理伺服器上執行,以輪詢統計與虛擬機器或計算節點無關的資源利用率資訊。可以啟動多個代理來水平擴充套件服務。

Alarm-evaluator
在一個或多箇中央管理伺服器上執行,以確定何時發生由於關聯的統計趨勢在滑動時間視窗上超過閾值時警報。

Alarm-notifier
在一個或多箇中央管理伺服器上執行,以允許設定基於樣本集合的閾值評估的警報。

Alarm-api
在一個或多箇中央管理伺服器上執行,以提供對儲存在資料儲存中的警報資訊的訪問。

Alarm-listener
在中央管理伺服器上執行,並確定何時基於針對事件定義的規則生成的觸發警報。

8.3、Ceilometer部署

如上所述,除了Agent-compute部署在計算節點外,其他元件都部署在控制節點上。

9、Swift

9.1、Swift功能

Swift提供物件儲存服務,它通過基於RESTful HTTP API儲存和檢索任意非結構化資料物件,具有高度容錯的資料複製和橫向擴充套件架構。

9.2、Swift架構

Proxy-server

接受OpenStack物件儲存API和原始HTTP請求以上傳檔案,修改元資料和建立容器。它還向Web瀏覽器提供檔案或容器列表。

Object-server
管理儲存節點上的實際物件(例如檔案)。

Account-server
管理使用物件儲存定義的帳戶。

Container-server
管理物件儲存器中的容器或資料夾的對映。

將Swift架構展開,將會得到以下更詳細的架構圖:

代理服務(Proxy Server):對外提供物件服務 API,會根據環的資訊來查詢服務地址並轉發使用者請求至相應的賬戶、容器或者物件服務;由於採用無狀態的 REST 請求協議,可以進行橫向擴充套件來均衡負載。
認證服務(Authentication Server):驗證訪問使用者的身份資訊,並獲得一個物件訪問令牌(Token),在一定的時間內會一直有效;驗證訪問令牌的有效性並快取下來直至過期時間。
快取服務(Cache Server):快取的內容包括物件服務令牌,賬戶和容器的存在資訊,但不會快取物件本身的資料;快取服務可採用 Memcached 叢集,Swift 會使用一致性雜湊演算法來分配快取地址。
賬戶服務(Account Server):提供賬戶元資料和統計資訊,並維護所含容器列表的服務,每個賬戶的資訊被儲存在一個 SQLite 資料庫中。
容器服務(Container Server):提供容器元資料和統計資訊,並維護所含物件列表的服務,每個容器的資訊也儲存在一個 SQLite 資料庫中。
物件服務(Object Server):提供物件元資料和內容服務,每個物件的內容會以檔案的形式儲存在檔案系統中,元資料會作為檔案屬性來儲存,建議採用支援擴充套件屬性的 XFS 檔案系統。
複製服務(Replicator):會檢測本地分割槽副本和遠端副本是否一致,具體是通過對比雜湊檔案和高階水印來完成,發現不一致時會採用推式(Push)更新遠端副本,例如物件複製服務會使用遠端檔案拷貝工具 rsync 來同步;另外一個任務是確保被標記刪除的物件從檔案系統中移除。
更新服務(Updater):當物件由於高負載的原因而無法立即更新時,任務將會被序列化到在本地檔案系統中進行排隊,以便服務恢復後進行非同步更新;例如成功建立物件後容器伺服器沒有及時更新物件列表,這個時候容器的更新操作就會進入排隊中,更新服務會在系統恢復正常後掃描佇列並進行相應的更新處理。
審計服務(Auditor):檢查物件,容器和賬戶的完整性,如果發現位元級的錯誤,檔案將被隔離,並複製其他的副本以覆蓋本地損壞的副本;其他型別的錯誤會被記錄到日誌中。
賬戶清理服務(Account Reaper):移除被標記為刪除的賬戶,刪除其所包含的所有容器和物件。
9.3、Swift部署

Swift服務需要將Proxy-server部署在控制節點上;Object-server、Account-server和Container-server部署在對像儲存節點上。

10、Sahara

10.1、Sahara功能

在Openstack上提供基於Hadoop的大資料功能。Sahara通過配置Hadoop版本、叢集拓撲和節點硬體詳細資訊等引數,在OpenStack擴充套件Hadoop叢集的功能。

10.2、Sahara架構

Sahara-all

展開Sahara後,可以得到更詳細的架構圖:

Sahara架構包括幾個元件:

Auth元件 - 負責客戶端認證和授權,與OpenStack身份服務(keystone)通訊。

DAL(Data access layer) - 資料訪問層,在DB中保留內部模型。

SSAL(Secure strage access layer) - 安全儲存訪問層 - 將認證資料(如密碼和私鑰)儲存在安全儲存中。

Provisioning Engine - 負責與OpenStack計算(Nova),編排(Heat),塊儲存(Cinder),映像(Clance)和DNS(Designate)服務通訊的元件。

Vendors Plugins - 可插入機制,負責在配置的虛擬機器上配置和啟動資料處理框架。現有的管理解決方案(如Apache Ambari和Cloudera Management Console)也可以用於此目的。

EDP​​ - 彈性資料處理(EDP),負責安排和管理由sahara提供的叢集上的資料處理作業。

REST API - 通過REST HTTP介面暴露薩哈拉功能。

Python Sahara Client - python客戶端。

Sahara Dashboard -  位於Horizon的GUI。

10.3、Sahara部署

Sashara的各元件都部署在控制節點上。

11、Ironic

11.1、Ironic

Ironic服務使物理伺服器容易配置為雲化的虛擬機器。

11.2、Ironic架構

Ironic-api
提供RESTful API服務,用於管理裸機伺服器。

Ironic-conductor
負責執行與裸機部署相關的所有活動。功能通過API服務公開。

Drivers
支援異構硬體的各種驅動程式。

11.3、Ironic部署

其中的Ironic-api和Ironic-conductor元件部署在控制節點上;Drivers部署在計算節點上。

12、Trove

12.1、Trove功能

Trove元件是OpenStack的資料庫即服務(Database as a Service)功能,允許使用者快速方便地利用關係資料庫。

12.2、Trove架構

Trove-api

Trove-api服務提供了一個RESTful API,支援JSON和XML來配置和管理Trove例項。輕量級請求通過在該服務直接處理或者通過直接訪問guestagent處理,比如獲取例項列表、獲取例項規格列表等。

Trove-taskmanager
Trove-taskmanager是排程處理層,主要是處理較重的請求,比如建立例項、例項resize等。它會通過Nova、Swift的API訪問Openstack基礎的服務,而且是有狀態的,是整個系統的核心。

Trove-conductor
Trove-conductor是guestagent訪問資料庫的代理層,主要是為了遮蔽掉guestagent直接對資料庫的訪問。

Trove-Guestagent
Trove-guestagent執行在虛擬機器中,用於接受Trove對虛擬機器的管理。

12.3、Trove部署

Trove-Guestagent部署在計算節點外,其他的Trove元件都部署在控制節點上。

13、Heat

13.1、Heat功能

Heat 是一個基於模板來編排複合雲應用的服務。它目前支援亞馬遜的 CloudFormation 模板格式,也支援 Heat 自有的 Hot 模板格式。

模板的使用簡化了複雜基礎設施,服務和應用的定義和部署。模板支援豐富的資源型別,不僅覆蓋了常用的基礎架構,包括計算、網路、儲存、映象,還覆蓋了像 Ceilometer 的警報、Sahara 的叢集、Trove 的例項等高階資源。。

13.2、Heat架構

Heat-api

Heat-api 元件實現 OpenStack 天然支援的 REST API。該元件通過把 API 請求經由 AMQP 傳送給 Heat engine 來處理 API 請求。

Heat-api-cfn
Heat-api-cfn 元件提供相容 AWS CloudFormation 的 API,同時也會把 API 請求通過 AMQP 轉發給 heat engine。

Heat-engine
Heat-engine 元件提供 Heat 最主要的協作功能。

13.3、Heat部署

Heat的各元件都部署在控制節點上。

14、Manila

14.1、Manila功能

Manila是File Share Service,檔案共享即服務,用來提供雲上的檔案共享,支援CIFS協議和NFS協議。

14.2、Manila架構

Manila-api

Mania-api提供RESTful API,對請求進行身份驗證和路由。

Manila-scheduler
Manila-scheduler負責選擇和調manila-share。

Manila-share
Manila-share負責管理共享檔案服務裝置,特別是後端裝置。

14.3、Manila部署

Manila-api和Manila-scheduler是安裝在控制節點上;Manila-share安裝在共享節點上,這裡的共享節點指提供檔案共享目錄的節點。

15、Magnum

15.1、Magnum功能

Magnum為使用者提供容器管理服務,現在可以為使用者提供Kubernetes as a Service、Swarm as a Service,主要目的是能讓使用者可以很方便的通過OpenStack雲平臺來管理k8s,swarm,這些已經很成型的Docker叢集管理系統,使使用者很方便的使用這些容器管理系統來提供容器服務。

15.2、Magnum架構

Magnum API

Magnum API主要是處理client的請求,將請求通過訊息佇列傳送到backend,在magnum,後臺處理主要是通過magnum-conductor來做的。

Magnum Conductor
Magnum conductor的主要作用是將client的請求轉發到對用的backend,backend在Magnum的官方術語叫CoE(Container Orchestration Engine)。支援的backend有k8s,Swarm,Docker等等

Magnum Client
向Magnum發請求的對像,可以是RESTful API或是CLI命令呼叫。

15.3、Magnum部署

如構架力所示,Magnum的元件都部署在控制節點上。

16、其他服務

Application Catalog service (murano)

Murano是OpenStack的Application Catalog服務,推崇AaaS(Anything-as-a-Service)的概念,通過統一的框架和API實現應用程式快速部署和用程式生命週期管理的功能來降低應用程式對底層平臺(OpenStack層和虛擬化層)的依賴。

Clustering service (senlin)

Senlin是專為管理其他OpenStack服務中同類物件而設計的叢集服務, 能夠為程式設計/管理OpenStack雲提供一個陣列資料型別。

DNS service (designate)

Designate提供了DNSaaS(DNS即服務)的功能,其目標就是要賦予OpenStack提供雲域名系統的能力,雲服務商可以使用Designate就能夠很容易建造一個雲域名管理系統來託管租戶的公有域名。

Governance service (congress)

Congress是一個基於異構雲環境的策略宣告、監控、實施、審計的框架(policy-as-a-service)。Congress從雲中不同的服務獲取資料,輸入到congress的策略引擎,從而驗證雲中的各服務狀態是否按照設定的策略執行。

Infrastructure Optimization service (watcher)

Watcher是OpenStack中提資源優化服務元件,提供一個完整的優化迴圈鏈:從度量接收器,到優化處理器和操作計劃應用程式。Watcher的目標在於提供一個強大的框架,可以實現廣泛的雲優化目標,包括減少資料中心運營成本,通過智慧虛擬機器遷移提高系統性能,提高能源效率等。此外,Watcher可供使用者定製豐富的資源優化目標與策略演算法。

Key Management service (barbican)

雲服務在內的任何環境提供金鑰管理功能。

Message service (zaqar)

Zaqar是OpenStack社群中為WEB和移動應用開發者提供的多租戶訊息服務。利用Zaqar, 開發者可以在SaaS以及移動應用元件之間傳遞訊息, OpenStack元件也可以向終端使用者提供訊息通知服務。NFV Orchestration service (tacker)

Tacker用於OpenStack中 NFV編排和VNF 的管理。完全基於歐洲電信標準協會行業規範組(ETSI ISG)定義的MANO框架。在Tacker中,OpenStack Nova、 Neutron、Cinder等元件集體作為 VIM虛擬基礎裝置管理。

Rating service (cloudkitty)

Cloudkitty為OpenStack提供計費服務。

Root Cause Analysis service (vitrage)

Vitrage是OpenStack RCA(Root Cause Analysis)服務,用於組織、分析和擴充套件OpenStack報警和事件,直接檢測到問題之前推斷問題的根本原因。

Search service (searchlight)

Searchlight的目的是優化搜尋的能力和效能,為不同的OpenStack雲服務提供使用者查詢。

Telemetry Alarming service (aodh)

Aodh主要提供配置和管理OpenStack告警服務

Telemetry Time Series Database service (gnocchi)

Gnocchi主要用來提供資源索引和儲存時序計量資料。

Workflow service (mistral)

Mistral是工作流元件,提供Workflow As a Service.典型的應用場景包括任務計劃服務Cloud Cron,任務排程Task Scheduling, 複雜的執行時間長的業務流程等。
--------------------- 
作者:〆一縷陽光ご 
來源:CSDN 
原文:https://blog.csdn.net/O1564511094/article/details/81838114?utm_source=copy 
版權宣告:本文為博主原創文章,轉載請附上博文連結!