Openstack新建雲主機流程圖
阿新 • • 發佈:2019-02-09
- 介面或命令列通過RESTful API向keystone獲取認證資訊。
- keystone通過使用者請求認證資訊,並生成auth-token返回給對應的認證請求。
- 介面或命令列通過RESTful API向nova-api傳送一個boot instance的請求(攜帶auth-token)。
- nova-api接受請求後向keystone傳送認證請求,檢視token是否為有效使用者和token。
- keystone驗證token是否有效,如有效則返回有效的認證和對應的角色(注:有些操作需要有角色許可權才能操作)。
- 通過認證後nova-api和資料庫通訊。
- 初始化新建虛擬機器的資料庫記錄。
- nova-api通過rpc.call向nova-scheduler請求是否有建立虛擬機器的資源(Host ID)。
- nova-scheduler程序偵聽訊息佇列,獲取nova-api的請求。
- nova-scheduler通過查詢nova資料庫中計算資源的情況,並通過排程演算法計算符合虛擬機器建立需要的主機。
- 對於有符合虛擬機器建立的主機,nova-scheduler更新資料庫中虛擬機器對應的物理主機資訊。
- nova-scheduler通過rpc.cast向nova-compute傳送對應的建立虛擬機器請求的訊息。
- nova-compute會從對應的訊息佇列中獲取建立虛擬機器請求的訊息。
- nova-compute通過rpc.call向nova-conductor請求獲取虛擬機器訊息。(Flavor)
- nova-conductor從訊息隊佇列中拿到nova-compute請求訊息。
- nova-conductor根據訊息查詢虛擬機器對應的資訊。
- nova-conductor從資料庫中獲得虛擬機器對應資訊。
- nova-conductor把虛擬機器資訊通過訊息的方式傳送到訊息佇列中。
- nova-compute從對應的訊息佇列中獲取虛擬機器資訊訊息。
- nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求glance-api獲取建立虛擬機器所需要映象。
- glance-api向keystone認證token是否有效,並返回驗證結果。
- token驗證通過,nova-compute獲得虛擬機器映象資訊(URL)。
- nova-compute通過keystone的RESTfull API拿到認證k的token,並通過HTTP請求neutron-server獲取建立虛擬機器所需要的網路資訊。
- neutron-server向keystone認證token是否有效,並返回驗證結果。
- token驗證通過,nova-compute獲得虛擬機器網路資訊。
- nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求cinder-api獲取建立虛擬機器所需要的持久化儲存資訊。
- cinder-api向keystone認證token是否有效,並返回驗證結果。
- token驗證通過,nova-compute獲得虛擬機器持久化儲存資訊。
- nova-compute根據instance的資訊呼叫配置的虛擬化驅動來建立虛擬機器。