Enterprise: Upgrade Platform Applications on Managed and Attached Clusters
For the Management Cluster (and the kommander
workspace namespace), dkp upgrade
handles all Platform applications; no other steps are necessary. However, for managed or attached clusters, you MUST manually upgrade the Platform applications by upgrading the workspace.
If you are upgrading your Platform applications as part of the DKP upgrade, upgrade your Platform applications on any additional Workspaces before proceeding with the Konvoy upgrade. Some applications in the previous release are not compatible with the Kubernetes version of this release, and upgrading Kubernetes is part of the DKP Konvoy upgrade process.
Prerequisites
Before you begin, you must:
Set the
WORKSPACE_NAMESPACE
environment variable to the name of the workspace’s namespace where the cluster is attached:CODEexport WORKSPACE_NAMESPACE=<workspace_namespace>
Set the
WORKSPACE_NAME
environment variable to the name of the workspace where the cluster is attached:CODEexport WORKSPACE_NAME=<workspace_name>
Upgrade Platform Applications from the CLI
Execute the DKP Upgrade Command
Upgrade all Platform applications in a workspace and its projects to the same version as the platform applications running on the management cluster:
dkp upgrade workspace ${WORKSPACE_NAME}
An output similar to this appears:
✓ Ensuring HelmReleases are upgraded on clusters in namespace "${WORKSPACE_NAME}"
...
Troubleshooting
If the upgrade fails or times out, retry the command with higher verbosity to get more information on the upgrade process:
dkp upgrade workspace ${WORKSPACE_NAME} -v 4
If you find any HelmReleases
in a “broken” release state, such as “exhausted” or “another rollback/release in progress”, you can trigger a reconciliation of the HelmRelease
using the following commands:
kubectl -n ${WORKSPACE_NAMESPACE} patch helmrelease <HELMRELEASE_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/suspend", "value": true}]'
kubectl -n 4{WORKSPACE_NAMESPACE} patch helmrelease <HELMRELEASE_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/suspend", "value": false}]'