1. 程式人生 > >Openstack新建雲主機流程圖

Openstack新建雲主機流程圖

  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獲得虛擬機器持久化儲存資訊。
  29. nova-compute根據instance的資訊呼叫配置的虛擬化驅動來建立虛擬機器。