Aerospike Kubernetes Operator (AKO)
Aerospike Kubernetes Operator (AKO) automates the deployment and management of Aerospike Database clusters on Kubernetes. The AKO controller manages a Custom Resource Definition (CRD) that extends the Kubernetes API for Aerospike clusters.
Update an Aerospike cluster Custom Resource (CR) file to perform Aerospike cluster deployment and lifecycle management. This is a configuration file on the server.
Specify changes in the Aerospike cluster CR file and use kubectl apply
to apply these changes.
AKO picks up the changes from the CR file and applies them throughout the cluster.
For example, to add Rack Awareness to your Aerospike cluster, add a rack-aware section of configuration parameters to the CR as described in Rack Awareness.
Run kubectl apply -f
to apply the CR, meaning that AKO reads the CR file again and enables Rack Awareness as specified.
This documentation section includes examples of various Aerospike configuration settings you can use with your Aerospike cluster on Kubernetes. If you have questions, suggestions, or other feedback, contact Aerospike support.
Features
With AKO, you can do the following operations:
- Deploy multi-node Aerospike cluster (AP/SC mode https://aerospike.com/docs/server/architecture/consistency)
- Scale the Aerospike cluster
- Upgrade to a new version of the Aerospike server
- Manage configuration of an Aerospike cluster
- Manage access control for the Aerospike cluster
- Set up XDR
- Set up rack-enabled Aerospike cluster
- Enforce Aerospike cluster best practices. For example,
aerospike.conf
validation and rack distribution - Backup and restore the Aerospike cluster
- Set up the Aerospike monitoring stack
- Manage multiple Aerospike clusters with a single Operator
- Attach custom sidecars and init containers
- Configure persistent storage and resource allocation
Architecture
The AKO custom controller (written in Go) embeds specific lifecycle management logic to manage the state of an Aerospike cluster. It does so by managing a Custom Resource Definition (CRD) to extend the Kubernetes API for Aerospike clusters. All regular maintenance to the cluster deployment and management is done by updating the Aerospike Enterprise cluster Custom Resource (CR).
AKO uses Kubernetes StatefulSets, a key workload API object for managing stateful applications. This ensures consistent deployment, scaling, and guarantees concerning the sequence and uniqueness of the associated Pods, such as maintaining unique, addressable identities for each.
AKO takes a layered approach to orchestration. This allows it to manage Aerospike cluster tasks outside the Aerospike deployment.