Skip to main content
Skip table of contents

Enterprise: Upgrade the Management Cluster and Platform Applications

These pages refer to DKP Enterprise and DKP Gov Advanced products.

This section describes how to upgrade your Kommander Management cluster and all Platform Applications to their supported versions in air-gapped, non-air-gapped and on-prem environments. To prevent compatibility issues, you must first upgrade Kommander on your Management Cluster before upgrading to DKP.

It is important you upgrade Kommander BEFORE upgrading the Kubernetes version (or Konvoy version for Managed Konvoy clusters) in attached clusters. This ensures that any changes required for new or changed Kubernetes API’s are already present.

Authentication token changes were made. In previous releases, you used the same token against clusters attached to the management cluster. In this release, users will be logged out of attached clusters until the upgrade process is complete. The kubeconfig must then be retrieved from the endpoint and shared with all users of the attached clusters. The URL to download a new kubeconfig can be generated using this command:

CODE
kubectl -n kommander get svc kommander-traefik -o go-template='https://{{with index .status.loadBalancer.ingress 0}}{{or .hostname .ip}}{{end}}/token/plugin/kubeconfig{{ "\n"}}'

Upgrade Kommander

Prerequisites

Limited availability of DKP resources

  • If you have configured a custom domain, running the upgrade command could result in an inaccessibility of your services via your custom domain for a few minutes.

  • The DKP UI and other APIs may be inconsistent or unavailable until the upgrade is complete.

Upgrade

Use the DKP CLI to upgrade Kommander and all the Platform Applications in the Management Cluster:

For non-air-gapped environments
CODE
dkp upgrade kommander

If you want to disable the AI Navigator, add the flag --disable-appdeployments ai-navigator-app to this command.

The output looks similar to this:

CODE
✓ Ensuring upgrading conditions are met
✓ Ensuring application definitions are updated
✓ Ensuring helm-mirror implementation is migrated to ChartMuseum
...

After the upgrade, if you have DKP Catalog Applications deployed, proceed to https://d2iq.atlassian.net/wiki/spaces/DENT/pages/221577412/Enterprise+Upgrade+Workspace+DKP+Catalog+Applications#Update-the-GitRepository-(for-non-air-gapped-environments).

For air-gapped environments
CODE
dkp upgrade kommander \
--charts-bundle ./application-charts/dkp-kommander-charts-bundle-v2.7.1.tar.gz \
--kommander-applications-repository ./application-repositories/kommander-applications-v2.7.1.tar.gz

The output looks similar to this:

CODE
✓ Ensuring upgrading conditions are met
✓ Ensuring application definitions are updated
✓ Ensuring helm-mirror implementation is migrated to ChartMuseum
...
For air-gapped environments with DKP Catalog Applications
CODE
dkp upgrade kommander \
--charts-bundle ./application-charts/dkp-kommander-charts-bundle-v2.7.1.tar.gz \
--charts-bundle ./application-charts/dkp-catalog-applications-charts-bundle-v2.7.1.tar.gz \
--kommander-applications-repository ./application-repositories/kommander-applications-v2.7.1.tar.gz

The output looks similar to this:

CODE
✓ Ensuring upgrading conditions are met
✓ Ensuring application definitions are updated
✓ Ensuring helm-mirror implementation is migrated to ChartMuseum
...

After the upgrade, if you have DKP Catalog Applications deployed, proceed to https://d2iq.atlassian.net/wiki/spaces/DENT/pages/221577412/Enterprise+Upgrade+Workspace+DKP+Catalog+Applications#Update-the-GitRepository-(for-air-gapped-environments).

Troubleshooting

  1. If the upgrade fails, run the following command to get more information on the upgrade process:

    CODE
    dkp upgrade kommander -v 6
  2. 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:

    CODE
    kubectl -n kommander patch helmrelease <HELMRELEASE_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/suspend", "value": true}]'
    kubectl -n kommander patch helmrelease <HELMRELEASE_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/suspend", "value": false}]'

Next Step:

https://d2iq.atlassian.net/wiki/spaces/DENT/pages/221610095/Enterprise+Upgrade+Additional+Workspaces

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.