Azimuth Operator Documentation
This documentation describes how to manage deployments of Azimuth, including all the required dependencies.
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
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
There are two methods that
azimuth-ops can use to deploy Azimuth and all of its
- Onto a managed single-node K3S cluster in an OpenStack project.
- 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.
Option 2 requires that Octavia is available on the target cloud to provide load-balancers for Azimuth components.
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.
Created: September 27, 2023