Update Aerospike Clusters on Kubernetes From Aerospike Version 6.x or Later
Check if your current Server version has special upgrade considerations before you upgrade or downgrade.
When upgrading Aerospike server cluster from 5.x or prior to 6.x or later (or downgrading from 6.x or later to 5.x or prior), the Operator wipes
each namespace storage Block
volumes and removes namespace
storage files in case of Filesystem
volumes. PMEM storage volumes are not wiped.
See WipeMethod configuration for details.
Special upgrade considerations:
When using blkdiscard
as the wipe method, be sure the drive deterministically returns zeros after TRIM (RZAT).
Check with your hardware provider or cloud provider to find out if this is the case. If you are unsure, it is safer to wipe the device using dd
as the wipe method.
To upgrade the cluster, change the spec.image
field to use the Aerospike Database 7.2.0.1 image.
The following example shows an upgrade using blkdscard
wipe method.
apiVersion: asdb.aerospike.com/v1
kind: AerospikeCluster
metadata:
name: aerocluster
namespace: aerospike
spec:
size: 2
image: aerospike/aerospike-server-enterprise:7.2.0.1
storage:
filesystemVolumePolicy:
cascadeDelete: true
initMethod: deleteFiles
blockVolumePolicy:
cascadeDelete: true
wipeMethod: blkdiscard
volumes:
- name: workdir
aerospike:
path: /opt/aerospike
source:
persistentVolume:
storageClass: ssd
volumeMode: Filesystem
size: 1Gi
- name: nsvol1
aerospike:
path: /dev/sdb
source:
persistentVolume:
storageClass: ssd
volumeMode: Block
size: 3Gi
- name: aerospike-config-secret
source:
secret:
secretName: aerospike-secret
aerospike:
path: /etc/aerospike/secret
podSpec:
multiPodPerHost: true
aerospikeAccessControl:
users:
- name: admin
secretName: auth-secret
roles:
- sys-admin
- user-admin
aerospikeConfig:
service:
feature-key-file: /etc/aerospike/secret/features.conf
security: {}
network:
service:
port: 3000
fabric:
port: 3001
heartbeat:
port: 3002
namespaces:
- name: test
replication-factor: 2
storage-engine:
type: device
devices:
- /dev/sdb