Skip to main content
Loading
Version: Operator 3.0.0

Upgrade the Operator on OpenShift using Web Console from 2.5.0 to 3.0.0

Verify that 3.0.0 version of the operator is availableโ€‹

Launch the OpenShift web console. Using the Administrator view, navigate to Operators > OperatorHub. Search for Aerospike. Select the Marketplace version of the Aerospike Kubernetes Operator as shown:

A dialog appears describing the Operator as shown below. Verify that 3.0.0 is the latest version.

Upgrade the Operatorโ€‹

Based on the installPlanApproval mode, the upgrade of the Operator is either:

  • Automatic (Not Supported): The default when installing the Operator from Red Hat Marketplace.
  • Manual: If the Operator subscription has been edited to use Manual approval.

Automaticโ€‹

Operator 3.0.0 doesn't support Automatic upgrade because the Operator release channel has been changed from alpha to stable. Refer Manual section below.

Manualโ€‹

Navigate to Operators > Installed Operators under Administrator view. Search for Aerospike and then select Edit Subscription as shown below:

After selecting Edit Subscription, an edit window will open. Change the spec.channel from alpha to stable and save as shown below.

If the Operator's subscription is set for Automatic approval, then Operator will automatically upgrade to latest version. You can skip ahead to configuring the CLI step.

If the Operator's subscription is set for Manual approval, then follow these steps to manually approve the upgrade.

You will see that the new Operator upgrade version 3.0.0 is available as shown below.

Click on Upgrade Available to start the upgrade. This shows the details of the InstallPlan as follows:

info

The name of the InstallPlan is automatically generated and can be different from what is shown in the following examples.

Click on Preview InstallPlan to which shows the details of the InstallPlan as follows:

Click on Approve to approve the upgrade and begin the upgrade.

The following message appears after a successful upgrade:

Select View Operator to verify the Operator details. The following details appear:

Configure the CLIโ€‹

From a terminal, log in to the OpenShift cluster and ensure that the oc and kubectl commands connect to the correct OpenShift cluster.

Check Operator Logsโ€‹

The Operator runs as two replicas by default, for higher availability. Run the following command to follow the logs for the Operator pods.

kubectl -n openshift-operators logs -f deployment/aerospike-operator-controller-manager manager

Output:

2023-08-01T09:07:02Z    INFO    setup   legacy OLM < 0.17 directory is present - initializing webhook server
2023-08-01T09:07:03Z INFO controller-runtime.metrics Metrics server is starting to listen {"addr": "127.0.0.1:8080"}
2023-08-01T09:07:03Z INFO setup Init aerospike-server config schemas
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.3.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.2"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.6.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.2.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.4.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.0.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.7.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.0.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.7.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.1.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.1.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.1"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.6.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.0.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.1.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.2.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.4.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "6.3.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.2.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.5.3"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.5.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "5.3.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.3.1"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.4.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.8.0"}
2023-08-01T09:07:03Z DEBUG schema-map Config schema added {"version": "4.9.0"}
2023-08-01T09:07:03Z INFO aerospikecluster-resource Registering mutating webhook to the webhook server
2023-08-01T09:07:03Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-asdb-aerospike-com-v1-aerospikecluster"}
2023-08-01T09:07:03Z INFO controller-runtime.builder skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called {"GVK": "asdb.aerospike.com/v1, Kind=AerospikeCluster"}
2023-08-01T09:07:03Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "asdb.aerospike.com/v1, Kind=AerospikeCluster", "path": "/validate-asdb-aerospike-com-v1-aerospikecluster"}
2023-08-01T09:07:03Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-asdb-aerospike-com-v1-aerospikecluster"}
2023-08-01T09:07:03Z INFO setup Starting manager
2023-08-01T09:07:03Z INFO controller-runtime.webhook.webhooks Starting webhook server
2023-08-01T09:07:03Z INFO Starting server {"path": "/metrics", "kind": "metrics", "addr": "127.0.0.1:8080"}
2023-08-01T09:07:03Z INFO controller-runtime.certwatcher Updated current TLS certificate
2023-08-01T09:07:03Z INFO Starting server {"kind": "health probe", "addr": "[::]:8081"}
I0801 09:07:03.213295 1 leaderelection.go:248] attempting to acquire leader lease operators/96242fdf.aerospike.com...
2023-08-01T09:07:03Z INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}
2023-08-01T09:07:03Z INFO controller-runtime.certwatcher Starting certificate watcher

Remove deprecated v1beta1 version from AerospikeCluster CustomResourceDefinition:โ€‹

Operator 3.0.0 introduces v1 API and deprecates v1beta1 API. Operator automatically migrates all existing Custom Resource objects to latest v1 version. So, remove v1beta1 from the CustomResourceDefinition status.storedVersions field.

kubectl patch customresourcedefinitions aerospikeclusters.asdb.aerospike.com --subresource='status' --type='merge' -p '{"status":{"storedVersions":["v1"]}}'
note

The kubectl flag --subresource flag is available starting from kubectl version v1.24. Update kubectl to version 1.24 or later for patching the CRD status.

Grant RBAC permissions to non-aerospike Kubernetes namespacesโ€‹

caution

There is a known issue with upgrading from version 2.5.0 to 3.0.0. This upgrade scenario revokes the RBAC privileges required to run Aerospike clusters.

If you are upgrading from 2.5.0 to 3.0.0, follow these instructions to restore the required RBAC privileges for each Kubernetes namespace where Aerospike clusters are running.