Skip to content

Azimuth Operator Documentation

This documentation describes how to manage deployments of Azimuth, including all the required dependencies.

Deploying Azimuth

Azimuth is deployed using Ansible with playbooks from the azimuth-ops Ansible collection, driven by configuration derived from the azimuth-config reference configuration.

The azimuth-config repository is designed to be forked for a specific site and is structured into multiple environments. This structure allows common configuration to be shared but overridden where required using composition of environments.

To try out Azimuth on your OpenStack cloud, you can follow these instructions to get a simple single-node deployment.

For a production-ready deployment, you should follow the steps in the best practice document.

Structure of an Azimuth deployment

A fully-featured Azimuth deployment consists of many components, such as Zenith, Cluster API and the CaaS operator, which require a Kubernetes cluster to run.

However when you consider an Azimuth deployment as a whole, the only real dependency is an OpenStack cloud to target - we can create a Kubernetes cluster within an OpenStack project on the target cloud to host our Azimuth deployment. This is exactly what the playbooks in the azimuth-ops collection will do, when driven by a configuration derived from azimuth-config.

There are two methods that azimuth-ops can use to deploy Azimuth and all of its dependencies:

  1. Onto a managed single-node K3s cluster in an OpenStack project.
  2. Onto a managed highly-available Kubernetes cluster in an OpenStack project.

Option 1 is useful for development or demo deployments, but is not suitable for a production deployment.

Option 2 is the recommended deployment mechanism for most deployments. In this mode, OpenTofu, an open-source fork of Terraform, is used to provision a single-node K3s cluster that is configured as a Cluster API management cluster. Cluster API is then used to provision a highly-available Kubernetes cluster in the same OpenStack project onto which Azimuth is deployed.


Option 2 requires that Octavia is available on the target cloud to provide load-balancers for Azimuth components.

Last update: June 20, 2024
Created: June 20, 2024