Last week’s article provided a high-level overview of OpenStack’s architecture. Today, we begin diving deeper into its individual components. We’ll start with the most fundamental service offered by OpenStack: the Compute Service, also known as the virtual machine (VM) functionality, which is Nova.
Table of Contents
What is Nova?
Nova is one of OpenStack’s core components, responsible for providing a way to provision (create) virtual 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, offering this service. In upcoming sections, we’ll explore the specific roles of each Nova daemon.
To use Nova’s basic features, you need to set up the following OpenStack services:
- Keystone
- Glance
- Neutron
- Placement
The Placement service was not covered in the previous article, so here’s a quick introduction.
Placement is a separate service extracted from Nova, primarily responsible for tracking available resources and their usage across different types, such as CPU, RAM, and so on.
For users
You can use the tools or APIs provided by Nova to create and manage computing resources.
Tools for using Nova
- Horizon: Mentioned earlier, it is the OpenStack Web UI
- OpenStack Client: The official CLI provided by OpenStack, which supports most OpenStack features
- Nova Client: Some more advanced or administrative functions may require extensive use, but most features can be handled via the OpenStack Client
If you have some familiarity with Infrastructure as Code (IaC), you can also use:
Besides the Nova Client, which is Nova’s dedicated tool, other commonly used tools can also manage services provided by other OpenStack components. Therefore, in later sections when we cover other components, we’ll briefly touch on these tools.
Nova API
All Nova user functions can be accessed via REST API, commonly referred to as the OpenStack Compute API. Users can use the API to perform complex operations or automate workflows through Infrastructure as Code. Users can either directly call the relevant API endpoints or use SDKs in different programming languages.
- Compute API Guide: Overview of basic concepts of the Compute API.
- Compute API Reference: Detailed usage instructions for all Compute API features.
- Compute API Microversion History: The Compute API evolves through microversions; this document includes notes for all versions.
- Block Device Mapping: This document explains how to attach different volumes and storage to compute instances.
- Metadata: This document describes the various metadata types supported by Nova.
Summary
This article has introduced Nova’s features and usage methods. The next article will explore its architecture and the roles of each daemon (process).
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.