KOTS: How to pin kotsadm to a specific version

How do we go about pinning KOTS Adm to a specific version?

Depending on whether its an Embedded or Existing cluster, its as follows:

Embedded

  • In the kURL Installer yaml spec, you need to specify the version you want to pin it to.
apiVersion: "cluster.kurl.sh/v1beta1"
kind: "Installer"
metadata: 
  name: "latest"
spec: 
  kotsadm: 
    version: "1.50.0"
  • Rerun kURL installer you ran during the initial install.

Existing

  1. Download a specific version from here https://github.com/replicatedhq/kots/releases
  2. Untar it, should be a single binary.
  3. Move it to /usr/local/bin/kubectl-kots, chmod +x if needed.
  4. Confirm with kubectl kots version.
  5. Run kots admin-console upgrade -n <namespace>.

Note: The KOTS binary locally on your workstation (where kubectl is run) must be updated first before running the command to upgrade kots admin console in existing clusters.