昨天的文章給予了讀者 OpenStack 的架構一個大致的介紹,今天要來開始深入介紹各個元件。我們首先將由 OpenStack 提供的最核心功能:運算功能 (Compute Service),也就是開虛擬機器 (Virtual Machine) 功能的元件開始,也就是 Nova。
Table of Contents
什麼是 Nova?
Nova 是 OpenStack 其中一個專案,它負責提供一個方式來生成 (provision) 運算機器,目前主要同時支援虛擬機器和實體主機 (透過 Ironic)。Nova 作為一組 daemon 運行在現有 Linux 服務器之上,以提供該服務。在稍後的章節會介紹 Nova 各個 daemon 所負責的工作。
目前 Nova 的基本功能需要搭配以下的 OpenStack 服務才能使用:
- Keystone
- Glance
- Neutron
- Placement
在上一篇中沒有介紹的 Placement,這裡快速的簡介一下。
Placement 是從 Nova 中拆分出來的服務,主要功能是追蹤不同類別的可用資源和其使用量,例如:CPU, RAM 等等。
對使用者來說
你可以透過 Nova 所提供的工具或 API 來建立和管理運算資源
使用 Nova 的工具
- Horizon:在前一篇有提到,是 OpenStack 的 Web UI
- OpenStack Client:OpenStack 官方所提供的 CLI,基本上支援大部分 OpenStack 專案
- Nova Client:通常一些比較進階或是管理性質的功能會需要用大,但大多數功能都可以用 OpenStack Client 解決
如果對 IaC 有些了解的話你也可以使用:
除了 Nova Client 是 Nova 專屬的工具外,其他列出的工具同時也可以操作其他 OpenStack 專案提供的服務,因此在後續介紹其他專案的時候會略過這一節。
Nova 的 API
所有的 Nova 使用者功能都可以透過 REST API 去存取,通常稱之為 OpenStack Compute API。使用者可以透過 API 將進行一些比較複雜的邏輯或是將操作程式化做到 Infrastructure as Code。使用者可以直接去 call 對應的 API 或是透過不同語言的 SDK 去存取。使用方法可以參照以下 OpenStack 文件 (英文)
- Compute API Guide:介紹 Compute API 的基本概念。
- Compute API Reference:所有 Compute API 的詳細使用方法。
- Compute API Microversion History:Compute API 會透過 microversion 進行更版,這個文件有所有更版的紀錄。
- Block Device Mapping:這個文件介紹如何串接不同區塊儲存設備到運算機器上。
- Metadata:介紹 Nova 支援的各種元資料 (Metadata)
小結
本篇介紹了 Nova 的功能與其使用方法,下一篇將會根據其架構以及各個 daemon (process) 所負責的工作。
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.