Upgrade Operator 3.4.x to 4.0.1 using Helm
AKO version 4.0.1 has breaking changes from previous major versions. Review the Breaking Changes before upgrading.
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}