OpenStack Overcloud Overview

OpenStack Overcloud has several services behind its operations that are open source projects, each one with their own purpose and communicate between them within the cloud’s operational architecture.

Overcloud’s core services are computing, networking, identity, block storage and images. From these, it is possible to deploy other services, such as dashboard, telemetry, orchestration, message queue and much more.

To ease an understanding of Openstack Overcloud’s services, see the diagram below illustrating the workflow and the various actions of the services, each one with your defined terminology, when requested by the user to create an instance:

1. Keystone authenticates user data and sends generated token for user X. The CLI requests Keystone the Nova’s endpoint. Keystone posts the endpoint.

Finally, Nova has gone through everything to spawn and deliver the instance to the user.

Requirements to Build a Small Cloud

In a small production cloud it is recommended to start with 5 nodes, three controllers in a high availability cluster and two compute node​.

Separating services from nodes allows to scale the OpenStack Overcloud resources out. In other words, increasing the cloud’s infrastructure.

What are the functions of each node

Controller Node

Controller nodes are the control center of the cloud where the core services run and key tasks such as handling your cloud environment, with main services as Keystone, Glance, Nova (API), Neutron, Horizon, RabbitMQ and MariaDB. For high availability services include Galera and Pacemaker. It also includes support for Heat, Gnocchi, Aodh, Swift, Ceph and others services.

Compute Node

Compute nodes are where the instances are located. It works with QEMU and KVM hypervisors. Compute nodes must have enough vCPU, memory and disk capacity to perform virtual machine instances and hardware virtualization needed to be enabled. The main services are Nova and Neutron (Open vSwitch). It also includes support for Ceilometer Agent.

For a bigger sized Overcloud production environment, it is recommended to have others dedicated servers as well as storage nodes to Ceph (software defined storage) and Swift (object storage). For further information on clouds larger than small clouds, see​ ​ Overcloud — Controller Nodes Requirements.

High Level Overcloud Deployment

OpenStack Overcloud deploys services on containers. Red Hat OpenStack Platform 16.x uses Podman as the container engine. Previou release use Docker.

The OpenStack Overcloud deployment process occurs within the Undercloud server, as follows:

  • Overcloud image preparation.
  • Configure overcloud roles, image, flavor (node size), number of instances, service parameters and network configuration.
  • Configure and Deploy with Heat Template.

Heat orchestrate service works with Ironic to catch up hardware inventory and Nova compute service to deploy to the Overcloud environment. Heat uses templates to orchestrate and deploy, as an Application Stack for end-users for example.

See Overcloud Deployment for further information.

Samples — OpenStack commands

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store