Prerequisites
- You must have access to the Administrative Server.
- You must verify the Service Account used for the upgrade has the correct permissions.
- Air-gapped servers must have the Docker images added to their Docker image repository.
Upgrading
Upgrade your BYOK8s cluster by performing the following steps:- Log in to the service account on the Administrative Server running your Anaconda Enterprise software.
-
Create a backup of your cluster configurations.
This backup is the only reliable way to undo this upgrade later. Some Workbench components run forward database migrations when they start under the new chart version (confirmed for the git-storage service), and
helm rollbackdoes not reverse those migrations. Once a migration has run, rolling the release back to the prior version leaves that component unable to start against the now-newer database schema.Confirm the backup completed successfully before continuing. If you need to undo this upgrade after it has run, restore from this backup rather than relying onhelm rollbackalone. -
Unpack the Helm Charts provided by Anaconda onto the Administrative Server:
-
Save your current configurations with the
extract_config.shscript delivered with your Helm Chart by running the following command:Theextract_config.shscript creates a file calledhelm_values.yamland saves it in the directory where the script was run. -
Verify the information captured in
helm_values.yamlfile is correct and contains all of your current cluster configuration settings. -
Begin the upgrade by running the following command:
If the upgrade is successful, your output will look like this:The duration of the upgrade depends on both the cluster node count and the speed of the new docker images loading into each node. You can view the status of the upgrade process by running the following command:Once all pods display a Running status and each pod is running all their containers, you may return to using the cluster as normal.
Troubleshooting a failed rollback
Rolling back a Workbench upgrade withhelm rollback can fail with a conflict on the kubernetes-dashboard-csrf secret:
Why this happens
Why this happens
The
kubernetes-dashboard-csrf secret is written by two different owners: the Helm chart and the Kubernetes Dashboard application itself, which generates a real CSRF token at runtime under its own field manager.helm upgradere-renders the chart on every run, so it stays in sync with whatever the Dashboard has since written.helm rollbackdoes not re-render anything; it reapplies the exact secret content captured at the time the target revision was installed or upgraded to.
ae-helm-chart-1.1-364. Use the following steps to complete the rollback:
-
Find the revision number you want to roll back to:
-
Delete the conflicting secret, then retry the rollback:
Kubernetes and Helm recreate the secret cleanly once there is no longer a live value to conflict with.
-
Restart the Workbench Dashboard pod:
The Dashboard process reads and caches its CSRF token only once, at startup, so it will not notice that the secret changed until it restarts. If this label selector does not match any pods in your environment, find the pod name first and delete it directly:
-
Confirm the rollback succeeded:
The
csrffield should return a non-empty base64 value, and the Dashboard pod should show1/1 Running.