Aerospike Kubernetes Operator limitations and restrictions
The following limitations and restrictions apply to any cluster managed by AKO.
Limitations
- Any strong consistency (SC) namespaces that exist on any given rack must also exist on all other racks. In other words, if a rack
R1has SC namespacesN1andN2, all other racks must also have SC namespacesN1andN2. This requirement affects only namespace names, so internal configurations can be different between identically-named namespaces on different racks.
When updating a cluster
The following restrictions apply to an already-deployed cluster:
- Persistent storage volumes cannot be added, removed, or updated in-place. You can adjust
storage.Volumesand namespace storage using the options described here. replication-factorandstrong-consistencyparameters cannot be changed in theaerospikeConfig.Namespacesconfiguration.- The
aerospikeAccessControlfield cannot be removed from the CR once set. When disabling security, removesecurity: {}fromaerospikeConfigbut keepaerospikeAccessControlin place. See Disable security for details. - Namespace storage devices cannot be resized or added in-place. Use the Rack Revision approach instead, which performs a gradual pod-by-pod migration.
- Block device re-usage requires two update operations: one to remove the block device from a namespace, and a second to add the block device to a different namespace.
MultiPodPerHostcannot be updated.
Restricted configuration parameters
Several of the following parameters either cannot be changed at any time, or cannot be updated after the cluster has been deployed.
Cannot be set
These values cannot be given in the aerospikeConfig section of the YAML configuration file. These are fixed or determined at runtime.
- namespaces[<index>].rack-id
- service.node-id
- service.cluster-name
- network.service.access-address
- network.service.alternate-access-address
- network.service.tls-access-address
- network.service.tls-alternate-access-address
- network.heartbeat.mode
Cannot be updated
The following values cannot be changed after the first deployment of a cluster:
- network.service.port
- network.service.access-port
- network.service.alternate-access-port
- network.service.tls-port
- network.service.tls-access-port
- network.service.tls-alternate-access-port
- network.heartbeat.port
- network.heartbeat.tls-port
- network.fabric.port
- network.fabric.tls-port
Other limitations
- Aerospike Database Community Edition is not supported. AKO only supports Aerospike Database Enterprise and Federal editions.
- Multi-site clustering is not supported. Aerospike clusters cannot be deployed across multiple Kubernetes clusters.
- In-memory only namespaces cannot be configured with strong consistency on a Kubernetes deployment.
- Batch scale-down is not supported for strong consistency clusters.
- IPv6 is not supported.