Openstack虛擬機器啟動過程
核心專案3個
- 1.控制檯
服務名:Dashboard
專案名:Horizon
功能:web方式管理雲平臺,建雲主機,分配網路,配安全組,加雲盤
- 2.計算
服務名:計算
專案名:Nova
功能:負責響應虛擬機器建立請求、排程、銷燬雲主機
- 3.網路
服務名:網路
專案名:Neutron
功能:實現SDN(軟體定義網路),提供一整套API,使用者可以基於該API實
現自己定義專屬網路,不同廠商可以基於此API提供自己的產品實現
- 4、儲存專案2個
1.物件儲存 服務名:物件儲存 專案名:Swift 功能:REST風格的介面和扁平的資料組織結構。RESTFUL HTTP API來保 存和訪問任意非結構化資料,ring環的方式實現資料自動複製和高度 可以擴充套件架構,保證資料的高度容錯和可靠性 2.塊儲存 服務名:塊儲存 專案名:Cinder 功能:提供持久化塊儲存,即為雲主機提供附加雲盤。
- 共享服務專案3個
1.認證服務
服務名:認證服務
專案名:Keystone
功能:為訪問openstack各元件提供認證和授權功能,認證通過後,提供一
個服務列表(存放你有權訪問的服務),可以通過該列表訪問各個元件。
2.映象服務
服務名:映象服務
專案名:Glance
功能:為雲主機安裝作業系統提供不同的映象選擇
3.計費服務
服務名:計費服務
專案名:Ceilometer
功能:收集雲平臺資源使用資料,用來計費或者效能監控
- 高層服務專案1個
1.編排服務
服務名:編排服務
專案名:Heat
功能:自動化部署應用,自動化管理應用的整個生命週期.主要用於Paas
虛擬機器啟動過程如下
1、介面或命令列通過RESTful API向keystone獲取認證資訊。
2、keystone通過使用者請求認證資訊,並生成auth-token返回給對應的認證請求。
3、介面或命令列通過RESTful API向nova-api傳送一個boot instance的請求(攜帶auth-token)。
4、nova-api接受請求後向keystone傳送認證請求,檢視token是否為有效使用者和token。
5、keystone驗證token是否有效,如有效則返回有效的認證和對應的角色(注:有些操作需要有角色許可權才能操作)。
6、通過認證後nova-api和資料庫通訊。
7、初始化新建虛擬機器的資料庫記錄。
8、nova-api通過rpc.call向nova-scheduler請求是否有建立虛擬機器的資源(Host ID)。
9、nova-scheduler程序偵聽訊息佇列,獲取nova-api的請求。
10、nova-scheduler通過查詢nova資料庫中計算資源的情況,並通過排程演算法計算符合虛擬機器建立需要的主機。
11、對於有符合虛擬機器建立的主機,nova-scheduler更新資料庫中虛擬機器對應的物理主機資訊。
12、nova-scheduler通過rpc.cast向nova-compute傳送對應的建立虛擬機器請求的訊息。
13、nova-compute會從對應的訊息佇列中獲取建立虛擬機器請求的訊息。
14、nova-compute通過rpc.call向nova-conductor請求獲取虛擬機器訊息。(Flavor)
15、nova-conductor從訊息隊佇列中拿到nova-compute請求訊息。
16、nova-conductor根據訊息查詢虛擬機器對應的資訊。
17、nova-conductor從資料庫中獲得虛擬機器對應資訊。
18、nova-conductor把虛擬機器資訊通過訊息的方式傳送到訊息佇列中。
19、nova-compute從對應的訊息佇列中獲取虛擬機器資訊訊息。
20、nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求glance-api獲取建立虛擬機器所需要映象。
21、glance-api向keystone認證token是否有效,並返回驗證結果。
22、token驗證通過,nova-compute獲得虛擬機器映象資訊(URL)。
23、nova-compute通過keystone的RESTfull API拿到認證k的token,並通過HTTP請求neutron-server獲取建立虛擬機器所需要的網路資訊。
24、neutron-server向keystone認證token是否有效,並返回驗證結果。
25、token驗證通過,nova-compute獲得虛擬機器網路資訊。
26、nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求cinder-api獲取建立虛擬機器所需要的持久化儲存資訊。
27、cinder-api向keystone認證token是否有效,並返回驗證結果。
28、token驗證通過,nova-compute獲得虛擬機器持久化儲存資訊。
30、nova-compute根據instance的資訊呼叫配置的虛擬化驅動來建立虛擬機器