Skip to main content

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.

BehaviorKOTS versionEffect
Release sortingallReleases are ordered by version label when semantic versioning is enabled on the channel. The sequence number does not indicate which release is newer.
Demoted releases1.128.0 and laterA demoted release is removed from the list of available updates at the next update check, unless it is already deployed.
Demoted releases1.127.2 and earlierA demoted release that was already fetched stays in the list and can still be deployed.
Required releases1.126.0 and laterThe 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.

info

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.

warning

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.