Upgrade Operator 3.4.x to 4.0.1 using Helm
Overview
This page describes how to upgrade the Aerospike Kubernetes Operator (AKO) to the latest version using Helm.
Prerequisites
- Helm 3.x
Upgrade CRD
Helm 3.x does not support the upgrade of Custom Resource Definitions (CRDs). You need to manually upgrade the CRD.
-
Replace the old CRDs with the new CRD:
Terminal window kubectl replace -f https://raw.githubusercontent.com/aerospike/aerospike-kubernetes-operator/4.0.1/config/crd/bases/asdb.aerospike.com_aerospikeclusters.yamlkubectl replace -f https://raw.githubusercontent.com/aerospike/aerospike-kubernetes-operator/4.0.1/config/crd/bases/asdb.aerospike.com_aerospikebackupservices.yamlkubectl replace -f https://raw.githubusercontent.com/aerospike/aerospike-kubernetes-operator/4.0.1/config/crd/bases/asdb.aerospike.com_aerospikebackups.yamlkubectl replace -f https://raw.githubusercontent.com/aerospike/aerospike-kubernetes-operator/4.0.1/config/crd/bases/asdb.aerospike.com_aerospikerestores.yaml -
Run the following command to add the Helm repository.
Terminal window helm repo add aerospike https://aerospike.github.io/aerospike-kubernetes-enterpriseIf the Helm repository is already added, update the index:
helm repo update -
Run the following command to upgrade AKO:
Terminal window helm upgrade aerospike-kubernetes-operator aerospike/aerospike-kubernetes-operator --version=4.0.0
Check AKO Logs
AKO runs as two replicas by default for higher availability. Run the following command to follow the logs for the AKO pods.
kubectl -n <release-namespace> logs -f deploymentaerospike-kubernetes-operator manager
Sample output:
2025-02-04T07:59:36Z INFO setup Initializing webhook certificate watcher using provided certificates {"webhook-cert-path": "/tmp/k8s-webhook-server/serving-certs", "webhook-cert-name": "tls.crt", "webhook-cert-key": "tls.key"}2025-02-04T07:59:36Z INFO controller-runtime.certwatcher Updated current TLS certificate2025-02-04T07:59:36Z INFO setup Init aerospike-server config schemas2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "6.3.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "6.4.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "7.0.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "7.1.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "7.2.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "6.0.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "6.1.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "6.2.0"}2025-02-04T07:59:36Z DEBUG setup Config schema added {"version": "8.0.0"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a mutating webhook {"GVK": "asdb.aerospike.com/v1, Kind=AerospikeCluster", "path": "/mutate-asdb-aerospike-com-v1-aerospikecluster"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-asdb-aerospike-com-v1-aerospikecluster"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "asdb.aerospike.com/v1, Kind=AerospikeCluster", "path": "/validate-asdb-aerospike-com-v1-aerospikecluster"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-asdb-aerospike-com-v1-aerospikecluster"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a mutating webhook {"GVK": "asdb.aerospike.com/v1beta1, Kind=AerospikeBackupService", "path": "/mutate-asdb-aerospike-com-v1beta1-aerospikebackupservice"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-asdb-aerospike-com-v1beta1-aerospikebackupservice"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "asdb.aerospike.com/v1beta1, Kind=AerospikeBackupService", "path": "/validate-asdb-aerospike-com-v1beta1-aerospikebackupservice"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-asdb-aerospike-com-v1beta1-aerospikebackupservice"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a mutating webhook {"GVK": "asdb.aerospike.com/v1beta1, Kind=AerospikeBackup", "path": "/mutate-asdb-aerospike-com-v1beta1-aerospikebackup"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-asdb-aerospike-com-v1beta1-aerospikebackup"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "asdb.aerospike.com/v1beta1, Kind=AerospikeBackup", "path": "/validate-asdb-aerospike-com-v1beta1-aerospikebackup"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-asdb-aerospike-com-v1beta1-aerospikebackup"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a mutating webhook {"GVK": "asdb.aerospike.com/v1beta1, Kind=AerospikeRestore", "path": "/mutate-asdb-aerospike-com-v1beta1-aerospikerestore"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-asdb-aerospike-com-v1beta1-aerospikerestore"}2025-02-04T07:59:36Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "asdb.aerospike.com/v1beta1, Kind=AerospikeRestore", "path": "/validate-asdb-aerospike-com-v1beta1-aerospikerestore"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-asdb-aerospike-com-v1beta1-aerospikerestore"}2025-02-04T07:59:36Z INFO setup Adding webhook certificate watcher to manager2025-02-04T07:59:36Z INFO setup Starting manager2025-02-04T07:59:36Z INFO controller-runtime.metrics Starting metrics server2025-02-04T07:59:36Z INFO setup disabling http/22025-02-04T07:59:36Z INFO starting server {"name": "health probe", "addr": "[::]:8081"}2025-02-04T07:59:36Z INFO controller-runtime.webhook Starting webhook server2025-02-04T07:59:36Z INFO setup disabling http/22025-02-04T07:59:36Z INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}