Skip to main content
Loading
Version: Operator 4.0.0

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.

To perform Aerospike cluster deployment and lifecycle management, modify the Aerospike cluster Custom Resource (CR) configuration file on the server. Specify changes to your desired configuration parameters and run the kubectl apply command to apply them. 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. When you run kubectl apply -f, AKO reads the CR file again and enables Rack Awareness as specified.

This documentation 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 a multi-node Aerospike cluster
  • Scale an Aerospike cluster
  • Upgrade to a new version of the Aerospike Database software
  • Manage Aerospike cluster configuration
  • Manage Aerospike cluster access control
  • Set up cross-datacenter replication (XDR)
  • Set up rack-enabled Aerospike cluster
  • Enforce Aerospike cluster best practices
  • Back up and restore an Aerospike cluster
  • Set up the Aerospike monitoring stack
  • Manage multiple Aerospike clusters
  • 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.