Openstack各組件邏輯關(guān)系及運(yùn)行流程解析
各組件邏輯關(guān)系圖
Keystone
:認(rèn)證服務(wù)
Glance
:鏡像服務(wù)
Nova
:計(jì)算服務(wù)
Neutron
:網(wǎng)絡(luò)服務(wù)
Cinder
:存儲(chǔ)服務(wù)
Horizon
:web 界面
Cellometer
:監(jiān)控計(jì)費(fèi)
Swit
:對(duì)象存儲(chǔ)
Heat
:編排服務(wù)(通過(guò)劇本,批量部署虛擬機(jī))
Openstack 新建云主機(jī)流程圖
keystone 身份認(rèn)證
填寫(xiě)創(chuàng)建云主機(jī)的相關(guān)配置–> nova-api --> 將相關(guān)信息保存到 MySQL
nova-scheduler --> 讀取 MySQL 云主機(jī)配置信息 --> 讀取計(jì)算節(jié)點(diǎn)資源
nova-compute 通過(guò) nova-conductor 獲取云主機(jī)配置信息 --> 調(diào)取相關(guān)模塊(neutron、
glance、cinder)進(jìn)行云主機(jī)的創(chuàng)建
虛擬機(jī)啟動(dòng)過(guò)程
- 界面或命令行通過(guò)RESTful API向keystone獲取認(rèn)證信息。
- keystone通過(guò)用戶請(qǐng)求認(rèn)證信息,并生成auth-token返回給對(duì)應(yīng)的認(rèn)證請(qǐng)求。
- 界面或命令行通過(guò)RESTful API向nova-api發(fā)送一個(gè)boot instance的請(qǐng)求(攜帶auth-token)。
- nova-api接受請(qǐng)求后向keystone發(fā)送認(rèn)證請(qǐng)求,查看token是否為有效用戶和token。
- keystone驗(yàn)證token是否有效,如有效則返回有效的認(rèn)證和對(duì)應(yīng)的角色(注:有些操作需要有角色權(quán)限才能操作)。
- 通過(guò)認(rèn)證后nova-api和數(shù)據(jù)庫(kù)通訊。
- 初始化新建虛擬機(jī)的數(shù)據(jù)庫(kù)記錄。
- nova-api通過(guò)rpc.call向nova-scheduler請(qǐng)求是否有創(chuàng)建虛擬機(jī)的資源(Host ID)。
- nova-scheduler進(jìn)程偵聽(tīng)消息隊(duì)列,獲取nova-api的請(qǐng)求。
- nova-scheduler通過(guò)查詢nova數(shù)據(jù)庫(kù)中計(jì)算資源的情況,并通過(guò)調(diào)度算法計(jì)算符合虛擬機(jī)創(chuàng)建需要的主機(jī)。
- 對(duì)于有符合虛擬機(jī)創(chuàng)建的主機(jī),nova-scheduler更新數(shù)據(jù)庫(kù)中虛擬機(jī)對(duì)應(yīng)的物理主機(jī)信息。
- nova-scheduler通過(guò)rpc.cast向nova-compute發(fā)送對(duì)應(yīng)的創(chuàng)建虛擬機(jī)請(qǐng)求的消息。
- nova-compute會(huì)從對(duì)應(yīng)的消息隊(duì)列中獲取創(chuàng)建虛擬機(jī)請(qǐng)求的消息。
- nova-compute通過(guò)rpc.call向nova-conductor請(qǐng)求獲取虛擬機(jī)消息。(Flavor)
- nova-conductor從消息隊(duì)隊(duì)列中拿到nova-compute請(qǐng)求消息。
- nova-conductor根據(jù)消息查詢虛擬機(jī)對(duì)應(yīng)的信息。
- nova-conductor從數(shù)據(jù)庫(kù)中獲得虛擬機(jī)對(duì)應(yīng)信息。
- nova-conductor把虛擬機(jī)信息通過(guò)消息的方式發(fā)送到消息隊(duì)列中。
- nova-compute從對(duì)應(yīng)的消息隊(duì)列中獲取虛擬機(jī)信息消息。
- nova-compute通過(guò)keystone的RESTfull API拿到認(rèn)證的token,并通過(guò)HTTP請(qǐng)求glance-api獲取創(chuàng)建虛擬機(jī)所需要鏡像。
- glance-api向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。
- token驗(yàn)證通過(guò),nova-compute獲得虛擬機(jī)鏡像信息(URL)。
- nova-compute通過(guò)keystone的RESTfull API拿到認(rèn)證k的token,并通過(guò)HTTP請(qǐng)求neutron-
- server獲取創(chuàng)建虛擬機(jī)所需要的網(wǎng)絡(luò)信息。
- neutron-server向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。
- token驗(yàn)證通過(guò),nova-compute獲得虛擬機(jī)網(wǎng)絡(luò)信息。
- nova-compute通過(guò)keystone的RESTfull API拿到認(rèn)證的token,并通過(guò)HTTP請(qǐng)求cinder-api
- 獲取創(chuàng)建虛擬機(jī)所需要的持久化存儲(chǔ)信息。
- cinder-api向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。
- token驗(yàn)證通過(guò),nova-compute獲得虛擬機(jī)持久化存儲(chǔ)信息。
- nova-compute根據(jù)instance的信息調(diào)用配置的虛擬化驅(qū)動(dòng)來(lái)創(chuàng)建虛擬機(jī)。
以上就是Openstack各組件邏輯關(guān)系及運(yùn)行流程解析的詳細(xì)內(nèi)容,更多關(guān)于Openstack各組件邏輯運(yùn)行流程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
openstack云計(jì)算keystone架構(gòu)源碼分析
這篇文章主要為大家介紹了openstack云計(jì)算keystone架構(gòu)源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Openstack 創(chuàng)建項(xiàng)目和虛擬機(jī)詳細(xì)介紹
這篇文章主要介紹了Openstack 創(chuàng)建項(xiàng)目和虛擬機(jī)詳細(xì)介紹的相關(guān)資料,這里舉例說(shuō)明如何實(shí)現(xiàn),圖文教程,需要的朋友可以參考下2016-11-11簡(jiǎn)單談?wù)凮penStack中的網(wǎng)絡(luò)隔離
這篇文章主要介紹了簡(jiǎn)單談?wù)凮penStack中的網(wǎng)絡(luò)隔離的相關(guān)資料,需要的朋友可以參考下2017-03-03OpenStack Heat AutoScaling詳解及實(shí)例代碼
這篇文章主要介紹了OpenStack Heat AutoScaling詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-12-12OpenStack Mitaka 版本中的 domain 和 admin詳解
這篇文章主要介紹了OpenStack Mitaka 版本中的 domain 和 admin詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03CentOS 6.4下安裝部署OpenStack云計(jì)算平臺(tái)的方法
現(xiàn)在好多公司都使用Openstack,所以也想著學(xué)習(xí)下用OpenStack云計(jì)算平臺(tái),這篇文章給加詳細(xì)介紹了CentOS 6.4下安裝部署OpenStack云計(jì)算平臺(tái)的方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10OpenStack Keystone的基本概念詳細(xì)介紹
這篇文章主要介紹了OpenStack Keystone的基本概念詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11OpenStack云計(jì)算快速入門(mén)教程(1)之OpenStack及其構(gòu)成簡(jiǎn)介
該教程基于Ubuntu12.04版,它將幫助讀者建立起一份OpenStack最小化安裝。這篇文章主要介紹了OpenStack云計(jì)算快速入門(mén)教程(1)之OpenStack及其構(gòu)成簡(jiǎn)介 ,需要的朋友可以參考下2016-11-11