從裸機到雲端:OpenStack Nova 介紹 1

從裸機到雲端:OpenStack Nova 介紹

昨天的文章給予了讀者 OpenStack 的架構一個大致的介紹,今天要來開始深入介紹各個元件。我們首先將由 OpenStack 提供的最核心功能:運算功能 (Compute Service),也就是開虛擬機器 (Virtual Machine) 功能的元件開始,也就是 Nova。

什麼是 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 文件 (英文)

小結

本篇介紹了 Nova 的功能與其使用方法,下一篇將會根據其架構以及各個 daemon (process) 所負責的工作。


Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.