Skip to main content
Loading
Version: Operator 3.3.1

XDR for Aerospike on Kubernetes

To deploy a cluster as a cross-datacenter replication (XDR) source, configure dc-security-config-file and dc-node-address-port in the aerospikeConfig.xdr.datacenter section of the CR file. After updating these configurations in the CR file, apply the CR file to deploy the cluster.

For more information, see the documentation on cross-datacenter replication (XDR).

Enable XDR and Create a Remote DC

This example is the XDR-specific configuration section for the Aerospike cluster CR file.

storage:
filesystemVolumePolicy:
cascadeDelete: true
initMethod: deleteFiles
volumes:
- name: workdir
aerospike:
path: /opt/aerospike
source:
persistentVolume:
storageClass: ssd
volumeMode: Filesystem
size: 1Gi
- name: ns
aerospike:
path: /opt/aerospike/data
source:
persistentVolume:
storageClass: ssd
volumeMode: Filesystem
size: 3Gi
- name: xdr
aerospike:
path: /opt/aerospike/xdr
source:
persistentVolume:
storageClass: ssd
volumeMode: Filesystem
size: 3Gi
- name: aerospike-config-secret
source:
secret:
secretName: aerospike-secret
aerospike:
path: /etc/aerospike/secret

aerospikeConfig:
service:
feature-key-file: /etc/aerospike/secret/features.conf

security: {}

network:
service:
port: 3000
fabric:
port: 3001
heartbeat:
port: 3002

xdr:
dcs:
- name: dc1
node-address-ports:
- aeroclusterdst-0-0 3000

auth-user: admin
auth-password-file: /etc/aerospike/secret/password_DC1.txt
namespaces:
- name: test

namespaces:
- name: test
replication-factor: 2
storage-engine:
type: memory
files:
- /opt/aerospike/data/test.dat
filesize: 2000000000

For the full CR file, see the example XDR CR.

This and other example CRs are stored in the main Aerospike Kubernetes Operator repository.

Remote DC Credentials

If the destination cluster has security enabled, then aerospike-secret created in this section should also have a security_credentials_DC1.txt file for the destination DC.

credentials
{
username xdr_user
password xdr_pass
}

Server versions

Aerospike Database instances in different destination clusters can run different versions of the database. For example, if you have clusters running Database 6.0, you can add a new cluster with the latest version and preserve XDR functionality.