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:
- 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, 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.
Warning
Option 2 requires that Octavia is available on the target cloud to provide load-balancers for Azimuth components.
Created: April 10, 2024