溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)

發(fā)布時(shí)間:2020-07-16 07:31:30 來(lái)源:網(wǎng)絡(luò) 閱讀:7528 作者:CloudMan6 欄目:數(shù)據(jù)庫(kù)

理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)

Compute Service Nova 是 OpenStack 最核心的服務(wù),負(fù)責(zé)維護(hù)和管理云環(huán)境的計(jì)算資源。
OpenStack 作為 IaaS 的云操作系統(tǒng),虛擬機(jī)生命周期管理也就是通過(guò) Nova 來(lái)實(shí)現(xiàn)的。

理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)

在上圖中可以看到,Nova 處于 Openstak 架構(gòu)的中心,其他組件都為 Nova 提供支持:
Glance 為 VM 提供 p_w_picpath
Cinder 和 Swift 分別為 VM 提供塊存儲(chǔ)和對(duì)象存儲(chǔ)
Neutron 為 VM 提供網(wǎng)絡(luò)連接

Nova 架構(gòu)如下

理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)

Nova 的架構(gòu)比較復(fù)雜,包含很多組件。
這些組件以子服務(wù)(后臺(tái) deamon 進(jìn)程)的形式運(yùn)行,可以分為以下幾類:

API

nova-api
接收和響應(yīng)客戶的 API 調(diào)用。 除了提供 OpenStack 自己的API,nova-api 還支持 Amazon EC2 API。 也就是說(shuō),如果客戶以前使用 Amazon EC2,并且用 EC2 的 API 開(kāi)發(fā)了些工具來(lái)管理虛機(jī),那么如果現(xiàn)在要換成 OpenStack,這些工具可以無(wú)縫遷移到 OpenStack,因?yàn)?nova-api 兼容 EC2 API,無(wú)需做任何修改。

Compute Core

nova-scheduler
虛機(jī)調(diào)度服務(wù),負(fù)責(zé)決定在哪個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行虛機(jī)

nova-compute
管理虛機(jī)的核心服務(wù),通過(guò)調(diào)用 Hypervisor API 實(shí)現(xiàn)虛機(jī)生命周期管理

Hypervisor
計(jì)算節(jié)點(diǎn)上跑的虛擬化管理程序,虛機(jī)管理最底層的程序。 不同虛擬化技術(shù)提供自己的 Hypervisor。 常用的 Hypervisor 有 KVM,Xen, VMWare 等

nova-conductor
nova-compute 經(jīng)常需要更新數(shù)據(jù)庫(kù),比如更新虛機(jī)的狀態(tài)。 出于安全性和伸縮性的考慮,nova-compute 并不會(huì)直接訪問(wèn)數(shù)據(jù)庫(kù),而是將這個(gè)任務(wù)委托給 nova-conductor,這個(gè)我們?cè)诤竺鏁?huì)詳細(xì)討論。

Console Interface

nova-console
用戶可以通過(guò)多種方式訪問(wèn)虛機(jī)的控制臺(tái): nova-novncproxy,基于 Web 瀏覽器的 VNC 訪問(wèn) nova-spicehtml5proxy,基于 HTML5 瀏覽器的 SPICE 訪問(wèn) nova-x***vncproxy,基于 Java 客戶端的 VNC 訪問(wèn)

nova-consoleauth
負(fù)責(zé)對(duì)訪問(wèn)虛機(jī)控制臺(tái)請(qǐng)親提供 Token 認(rèn)證

nova-cert
提供 x509 證書支持

Database

Nova 會(huì)有一些數(shù)據(jù)需要存放到數(shù)據(jù)庫(kù)中,一般使用 MySQL。 數(shù)據(jù)庫(kù)安裝在控制節(jié)點(diǎn)上。 Nova 使用命名為 “nova” 的數(shù)據(jù)庫(kù)。

理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)

Message Queue

在前面我們了解到 Nova 包含眾多的子服務(wù),這些子服務(wù)之間需要相互協(xié)調(diào)和通信。 為解耦各個(gè)子服務(wù),Nova 通過(guò) Message Queue 作為子服務(wù)的信息中轉(zhuǎn)站。 所以在架構(gòu)圖上我們看到了子服務(wù)之間沒(méi)有直接的連線,它們都通過(guò) Message Queue 聯(lián)系。

   理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)

OpenStack 默認(rèn)是用 RabbitMQ 作為 Message Queue。 MQ 是 OpenStack 的核心基礎(chǔ)組件,我們后面也會(huì)詳細(xì)介紹。

下一節(jié)我們討論這些 Nova 組件如何協(xié)調(diào)工作。

理解 Nova 架構(gòu) - 每天5分鐘玩轉(zhuǎn) OpenStack(23)


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI