Loading
Version: Operator 3.0.0Upgrade the Aerospike Version for Aerospike Clusters on Kubernetes
The Operator performs a rolling upgrade of the Aerospike cluster one node at a time, meaning that the upgrade is accomplished with zero downtime. A new node is created with the same pod configuration as the chosen node to upgrade.
For this example, the cluster is deployed using a file named aerospike-cluster.yaml
.
Start the Upgrade
To upgrade the Aerospike cluster change the spec.image
field in the aerocluster CR to the desired Aerospike enterprise server docker image.
apiVersion: asdb.aerospike.com/v1
kind: AerospikeCluster
metadata:
name: aerocluster
namespace: aerospike
spec:
size: 2
image: aerospike/aerospike-server-enterprise:6.4.0.0
.
.
Use kubectl to apply the change.
kubectl apply -f aerospike-cluster.yaml
The pods undergo a rolling restart. Use kubectl to watch the progress.
Output:
$ kubectl get pods -n aerospike
NAME READY STATUS RESTARTS AGE
aerocluster-0-0 1/1 Running 0 3m6s
aerocluster-0-1 1/1 Running 0 3m6s
aerocluster-0-2 1/1 Running 0 30s
aerocluster-0-3 1/1 Terminating 0 30s
After all the pods have restarted, use kubectl to get the status of the cluster. Check image
for all Pods.
Output:
$ kubectl -n aerospike describe aerospikecluster aerocluster
Name: aerocluster
Namespace: aerospike
Kind: AerospikeCluster
.
.
Status:
.
.
Pods:
aerocluster-0-0:
Aerospike:
Access Endpoints:
10.128.15.225:31312
Alternate Access Endpoints:
34.70.193.192:31312
Cluster Name: aerocluster
Node ID: 0a0
Tls Access Endpoints:
Tls Alternate Access Endpoints:
Tls Name:
Host External IP: 34.70.193.192
Host Internal IP: 10.128.15.225
Image: aerospike/aerospike-server-enterprise:6.4.0.0
Initialized Volume Paths:
/opt/aerospike
Pod IP: 10.0.4.6
Pod Port: 3000
Service Port: 31312