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:
- 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.
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.
Created: September 27, 2023