Upgrade the KOTS CLI and Admin Console
The Credo AI application is delivered through KOTS. Two KOTS components run on your side:
- the KOTS CLI (
kubectl kots), a kubectl plugin on your administrating workstation - the KOTS Admin Console (
kotsadm), which runs in your cluster next to the Credo AI application
Both are installed once during the Kubernetes cluster installation and do not upgrade themselves. This appendix describes how to check their versions and bring them up to date.
Why upgrade
Several behaviors of the release list depend on the KOTS version installed in your cluster. An old Admin Console can show releases in the wrong order, keep offering releases that Credo AI has withdrawn, or stay blocked on a release that was once required.
| Behavior | KOTS version | Effect |
|---|---|---|
| Release sorting | all | Releases are ordered by version label when semantic versioning is enabled on the channel. The sequence number does not indicate which release is newer. |
| Demoted releases | 1.128.0 and later | A demoted release is removed from the list of available updates at the next update check, unless it is already deployed. |
| Demoted releases | 1.127.2 and earlier | A demoted release that was already fetched stays in the list and can still be deployed. |
| Required releases | 1.126.0 and later | The Admin Console can skip a release that was previously marked required. Earlier versions stay blocked on it. |
Refer to About releases for the upstream description of these behaviors.
Credo AI supports KOTS 1.128.0 or later. Upgrade before you install a new Credo AI release if your Admin Console is older.
Check current versions
Check the version of the KOTS CLI on your workstation:
kubectl kots version
Check the Credo AI application status and the releases known to the Admin Console:
kubectl kots get apps -n <namespace>
kubectl kots get versions credoai -n <namespace>
Upgrade the KOTS CLI (online)
The version of the KOTS CLI decides the version the Admin Console upgrades to, so upgrade the CLI first. Refer to Installing the KOTS CLI.
Install a specific version. This is the recommended option: use the version that Credo AI support has confirmed for your release.
curl https://kots.io/install/<version> | bash
Install the latest version:
curl https://kots.io/install | bash
Without root access, install into a directory you own that is on your PATH:
curl -L https://kots.io/install | REPL_INSTALL_PATH=~/bin bash
Confirm the new version with kubectl kots version.
Upgrade the KOTS CLI (air gap)
Download the KOTS CLI bundle for your workstation from the Customer Download Portal, or from the KOTS GitHub releases page:
- Linux (AMD64):
kots_linux_amd64.tar.gz - Linux (ARM64):
kots_linux_arm64.tar.gz - macOS:
kots_darwin_all.tar.gz
Extract the archive and put the binary on your PATH with the name kubectl-kots:
tar xvf kots_linux_amd64.tar.gz
sudo mv kots /usr/local/bin/kubectl-kots
Confirm the new version with kubectl kots version. Refer to Manually download and install.
Upgrade the Admin Console
The admin-console upgrade command upgrades the Admin Console in the cluster to the same version as the KOTS CLI. Refer to Updating KOTS in existing clusters.
Downgrading KOTS to a version earlier than the one deployed in the cluster is not supported. Check kubectl kots version before you run the upgrade.
Online
kubectl kots admin-console upgrade -n <namespace>
Air gap
Download the kotsadmin bundle (kotsadm.tar.gz) that matches your KOTS CLI version from the Customer Download Portal.
Push the Admin Console images to your private registry with read-write credentials:
kubectl kots admin-console push-images ./kotsadm.tar.gz <registry-host> \
--registry-username <rw-username> \
--registry-password <rw-password>
Upgrade the Admin Console with read-only credentials:
kubectl kots admin-console upgrade \
--kotsadm-registry <registry-host> \
--registry-username <ro-username> \
--registry-password <ro-password> \
-n <namespace>
Use the same registry host and credentials that you used at installation time. The Kubernetes cluster installation page shows an example for AWS ECR.
Refresh the release list
After the Admin Console upgrade, the next update check applies the current sorting, demotion, and required-release rules. The list of available Credo AI releases can change: demoted releases drop out and the order can differ from what you saw before.
Fetch the release list without deploying and review it:
kubectl kots upstream upgrade credoai -n <namespace> --deploy=false
kubectl kots get versions credoai -n <namespace>
Then deploy the Credo AI release you want from the Admin Console UI or with the KOTS CLI, as described in KOTS CLI application management. Refer to the upstream upgrade reference for air gap options such as --airgap-bundle.