nova這一組件包含了許多的小組件,其中有API Server (nova-api)、Message Queue (rabbit-mq server)、Compute Workers (nova-compute)、Network Controller (nova-network)、Scheduler (nova-scheduler)、Conductor(nova-conductor)。
nova-api是一個互動接口,管理者可以通過這個接口來管理內部基礎設施,也可以通過這個接口向用戶提供服務。當然基於web的管理也是通過這個接口,然後向訊息佇列傳送訊息,達到資源調度的功能。
Rabbit-mq server是計算資源中的一個訊息佇列,為各個組件傳達訊息實現資源調度。
nova-compute是用於處理管理實例生命周期。通過訊息佇列接收請求,並承擔操作工作。
nova-network相當於雲計算系統內部的一個路由器,他承擔了IP位址的劃分以及配置VLAN和安全組的劃分。
nova-scheduler是一個擁有把nova-API調用映射為Open Stack功能的組件,會根據諸如CPU構架、可用域的物理距離、記憶體、負載等作出調度決定。
nova-conductor負責資料庫的訪問許可權控制,避免nova-compute直接訪問資料庫。
綜合對上面組件的介紹,可以看出Nova是一個非常重要的核心組件其功能覆蓋了幾乎所有的領域比如計算的控制器,用於管理用戶的虛擬機實例,根據用戶需求來實現對虛擬機的開關機、調配CPU、RAM等操作。