From Bare Metal to the Cloud: Introduction to OpenStack Nova 1

從裸機到雲端:OpenStack Nova 介紹

Yesterday's article provided a general overview of the OpenStack architecture. Today, we will begin a deep dive into each component. We'll start with the most core functionality provided by OpenStack: the Compute Service, which is the component responsible for creating Virtual Machines (VMs)—Nova.

What is Nova?

Nova is an OpenStack project responsible for providing a way to provision compute machines. Currently, it primarily supports both virtual machines and bare-metal servers (via Ironic). Nova runs as a set of daemons on existing Linux servers to provide this service. Later sections will introduce the specific tasks handled by each Nova daemon.

Currently, Nova's basic functionality requires the following OpenStack services to operate:

  • Keystone
  • Glance
  • Neutron
  • Placement

Placement was not introduced in the previous article, so here is a quick overview.
Placement is a service that was split off from Nova. Its primary function is to track available resources of different categories and their usage, such as CPU, RAM, etc.

For Users

You can create and manage compute resources through the tools or APIs provided by Nova.

Tools for Using Nova

  • Horizon: Mentioned in the previous post, it is the Web UI for OpenStack.
  • OpenStack Client: The official CLI provided by OpenStack, which supports most OpenStack projects.
  • Nova Client: Typically used for more advanced or administrative functions, though most features can be handled using the OpenStack Client.

If you are familiar with IaC (Infrastructure as Code), you can also use:

Except for Nova Client, which is exclusive to Nova, the other tools listed can also operate services provided by other OpenStack projects. Therefore, this section will be skipped in future introductions of other projects.

Nova API

All Nova user features can be accessed via a REST API, commonly referred to as the OpenStack Compute API. Users can use the API to implement complex logic or programmatically manage operations as Infrastructure as Code. Users can call the corresponding APIs directly or access them through SDKs in various languages. For usage details, please refer to the following OpenStack documentation (English):

Summary

This article introduced the features and usage of Nova. The next article will cover its architecture and the tasks handled by each daemon (process).


Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise specified.

Leave a Reply