Skip to content

Azimuth Operator Documentation

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

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.

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, 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.

Warning

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

Deploying Azimuth

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.


Last update: September 27, 2023
Created: September 27, 2023