How to upgrade a multicluster Verrazzano environment
A Verrazzano installation consists of a stack of components, such as cert-manager, where each component has a
specific release version that may be different from the overall Verrazzano version. The Verrazzano platform operator
knows the versions of each component associated with the Verrazzano version. When you perform the initial Verrazzano
installation, the appropriate version of each component is installed by the platform operator.
Post installation, it may be necessary to update one or more of the component images or Helm charts. This update is also
handled by the platform operator and is called an
upgrade. Currently, Verrazzano does only patch-level upgrades,
helm upgrade command can be issued for the component. Typically, patch-level upgrades simply replace component
images with newer versions.
It is important to distinguish between updating the Verrazzano platform operator versus upgrading the Verrazzano installation. The platform operator contains the newer component charts and image versions, so it must be updated prior to upgrading the installation. Updating the platform operator has no effect on an existing installation until you initiate the Verrazzano installation upgrade. Currently, there is no way to roll back either the platform operator update or the Verrazzano installation upgrade. Upgrading will not have any impact on running applications.
Upgrading an existing Verrazzano installation involves:
- Upgrading the Verrazzano platform operator to the Verrazzano release version to which you want to upgrade.
- Updating the version of your installed
Verrazzanoresource to the version supported by the upgraded operator.
NOTE: You may only change the version field during an upgrade; changes to other fields or component configurations are not supported at this time.
Upgrade the Verrazzano platform operator
In order to upgrade an existing Verrazzano installation, you must first upgrade the Verrazzano platform operator.
Upgrade the Verrazzano platform operator.
NOTE: If you are using a private container registry, then to update the platform operator, follow the instructions at Use a Private Registry.
To upgrade to the latest version:
$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/v1.0.1/operator.yaml
To upgrade to a specific version, where
<version>is the desired version:
$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/<version>/operator.yaml
$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/v0.7.0/operator.yaml
Wait for the deployment to complete.
$ kubectl -n verrazzano-install rollout status deployment/verrazzano-platform-operator deployment "verrazzano-platform-operator" successfully rolled out
Confirm that the operator pod is correctly defined and running.
$ kubectl -n verrazzano-install get pods NAME READY STATUS RESTARTS AGE verrazzano-platform-operator-59d5c585fd-lwhsx 1/1 Running 0 114s
To upgrade Verrazzano:
Verrazzanoresource to the desired version.
To upgrade the Verrazzano components, you must update the
versionfield in your
Verrazzanoresource spec to match the version supported by the platform operator to which you upgraded and apply it to the cluster.
You can update the resource by doing one of the following:
a. Editing the YAML file you used to install Verrazzano and setting the version field to the latest version.
For example, to upgrade to
v0.17.0, your YAML file should be edited to add or update the version field:
apiVersion: install.verrazzano.io/v1alpha1 kind: Verrazzano metadata: name: my-verrazzano spec: profile: dev version: v0.17.0
Then apply the resource to the cluster (if you have not edited the resource in-place using
$ kubectl apply -f my-verrazzano.yaml
b. Editing the
Verrazzanoresource directly using
kubectland setting the version field directly, for example:
$ kubectl edit verrazzano my-verrazzano # In the resource editor, add or update the version field to "version: v0.17.0", then save.
Wait for the upgrade to complete:
$ kubectl wait \ --timeout=10m \ --for=condition=UpgradeComplete verrazzano/my-verrazzano
Verify the upgrade
Check that all the pods in the
verrazzano-system namespace are in the
Running state. While the upgrade is in progress,
you may see some pods terminating and restarting as newer versions of components are applied.
$ kubectl get pods -n verrazzano-system coherence-operator-controller-manager-7557bc4c49-7w55p 1/1 Running 0 27h fluentd-fzmsl 1/1 Running 0 27h fluentd-r9wwf 1/1 Running 0 27h fluentd-zp2r2 1/1 Running 0 27h oam-kubernetes-runtime-6ff589f66f-r95qv 1/1 Running 0 27h verrazzano-api-669c7d7f66-rcnl8 1/1 Running 0 27h verrazzano-application-operator-b5b77d676-7w95p 1/1 Running 0 27h verrazzano-console-6b469dff9c-b2jwk 1/1 Running 0 27h verrazzano-monitoring-operator-54cb658774-f6jjm 1/1 Running 0 27h verrazzano-operator-7f4b99d7d-wg7qm 1/1 Running 0 27h vmi-system-es-master-0 2/2 Running 0 27h vmi-system-grafana-74bb7cdf65-k97pb 2/2 Running 0 27h vmi-system-kibana-85565975b5-7hfdf 2/2 Running 0 27h vmi-system-prometheus-0-7bf464d898-czq8r 4/4 Running 0 27h weblogic-operator-7db5cdcf59-qxsr9 1/1 Running 0 27h
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.