Operator mode
If have installed your Calisti deployment in operator mode, the upgrade procedure only consists of installing a newer version of the operator helm chart and allowing it to reconcile the cluster. Complete the following steps.
Service Mesh Manager upgrade
-
Uninstall the previous version (1.11.0) of the smm-operator chart.
helm uninstall smm-operator --namespace smm-registry-access
-
Install the new version (1.12.0) of the smm-operator chart.
helm install \ --namespace=smm-registry-access \ --set "global.ecr.enabled=false" \ --set "global.basicAuth.username=<your-username>" \ --set "global.basicAuth.password=<your-password>" \ smm-operator \ oci://registry.eticloud.io/smm-charts/smm-operator --version 1.12.0
Note: If the system uses helm for deploying the chart (and not some other CI/CD solution such as Argo CD), then the CustomResourceDefinitions (CRDs) will not be automatically upgraded. In this case, fetch the helm chart locally using the
helm pull
command and apply the CRDs in thecrds
folder of the helm chart manually. -
After the operator has been started, monitor the status of the ControlPlane resource until it finishes the upgrade (reconciliation). Run the following command:
kubectl describe cp
After the upgrade is finished, the output should be similar to the following. The
Status: Succeeded
line shows that the deployment has been upgraded. In case of any errors, consult the Kubernetes logs of the operator (installed by Helm) for further information.... Status: Components: Cert Manager: Status: Available Cluster Registry: Status: Available Mesh Manager: Status: Available Node Exporter: Status: Available Registry Access: Status: Available Smm: Status: Available Status: Succeeded
Streaming Data Manager upgrade
-
Upgrade to the new version ( version 1.9.0) of the supertubes-control-plane chart.
helm upgrade \ --namespace supertubes-control-plane \ --set imagePullSecrets\[0\].name=smm-pull-secret \ --set operator.image.repository="registry.eticloud.io/sdm/supertubes-control-plane" \ supertubes-control-plane \ oci://registry.eticloud.io/sdm-charts/supertubes-control-plane --version 1.9.0
-
After the operator has been started, monitor the status of the applicationmanifest resource until it finishes the upgrade (reconciliation). Run the following command:
kubectl describe applicationmanifests.supertubes.banzaicloud.io -n supertubes-control-plane sdm-applicationmanifest
The output should be similar to:
... Status: Components: Cluster Registry: Status: Removed Csr Operator: Status: Available Imps Operator: Image Pull Secret Status: Unmanaged Status: Removed Istio Operator: Status: Removed Kafka Operator: Status: Available Monitoring: Status: Available Supertubes: Status: Available Zookeeper Operator: Status: Available Status: Succeeded
-
If the following error shows up in the ApplicationManifest under the
Message
field:resource type is not allowed to be recreated: Job.batch "zookeeper-operator-post-install-upgrade" is invalid...
Delete the
zookeeper-operator-post-install-upgrade
job so it is recreated when ZooKeeper is reconciled:kubectl delete job -n zookeeper zookeeper-operator-post-install-upgrade
Restarting workloads
After the upgrade has completed, the Pods running in applications' namespaces are still running the old version of Istio proxy sidecar.
-
To obtain the latest security patches, restart these
Controllers
(Deployments
,StatefulSets
, and so on) either using thekubectl rollout
command, or by instructing the CI/CD systems enabled on the cluster. For example, to restart the deployments in a namespace, you can run:kubectl rollout restart deployment --namespace <name-of-your-namespace>
-
If the upgrade also involved a minor or major version upgrade of Istio, the
kubectl rollout
command will only ensure that the latest patch level is being used on the Pods.For example: Service Mesh Manager 1.8.2 comes with Istio 1.11, while Service Mesh Manager 1.9.0 is bundled with Istio 1.12. By upgrading from Service Mesh Manager 1.8.2 to 1.9.0, and then restarting the
Controllers
will only result in the latest 1.11 Istio sidecar proxy to be started in thePods
.To upgrade to the new minor/major version of Istio on your workloads, complete the Upgrading your business applications procedure.