import AdminConsole from "../partials/updating/_admin-console.mdx" import AdminConsoleAirGap from "../partials/updating/_admin-console-air-gap.mdx" import PushKotsImages from "../partials/install/_push-kotsadm-images.mdx" import BuildAirGapBundle from "../partials/install/_airgap-bundle-build.mdx" import DownloadAirGapBundle from "../partials/install/_airgap-bundle-download.mdx" import ViewAirGapBundle from "../partials/install/_airgap-bundle-view-contents.mdx"
This topic describes how to perform updates in existing cluster installations with Replicated KOTS. It includes information about how to update applications and the version of KOTS running in the cluster.
You can perform an application update using the KOTS Admin Console or the KOTS CLI. You can also set up automatic updates. See Configuring Automatic Updates.
You can use the KOTS CLI upstream upgrade command to update an application in existing cluster installations.
To update an application in online environments:
kubectl kots upstream upgrade APP_SLUG -n ADMIN_CONSOLE_NAMESPACE
Where:
APP_SLUG
is the unique slug for the application. See Get the Application Slug in Managing Applications.ADMIN_CONSOLE_NAMESPACE
is the namespace where the Admin Console is running.
:::note
Add the --deploy
flag to automatically deploy this version.
:::
To update an application in air gap environments:
-
In the Vendor Portal, go the channel where the target release is promoted to build and download the new
.airgap
bundle: -
Run the following command to update the application:
kubectl kots upstream upgrade APP_SLUG \ --airgap-bundle NEW_AIRGAP_BUNDLE \ --kotsadm-registry REGISTRY_HOST[/REGISTRY_NAMESPACE] \ --registry-username RO_USERNAME \ --registry-password RO_PASSWORD \ -n ADMIN_CONSOLE_NAMESPACE
Replace:
APP_SLUG
with the unique slug for the application. See Get the Application Slug in Managing Applications.NEW_AIRGAP_BUNDLE
with the.airgap
bundle for the target application version.REGISTRY_HOST
with the private registry that contains the Admin Console images.REGISTRY_NAMESPACE
with the registry namespace where the images are hosted (Optional).RO_USERNAME
andRO_PASSWORD
with the username and password for an account that has read-only access to the private registry.ADMIN_CONSOLE_NAMESPACE
with the namespace where the Admin Console is running.
:::note
Add the --deploy
flag to automatically deploy this version.
:::
This section describes how to update the version of Replicated KOTS running in your cluster. For information about the latest versions of KOTS, see KOTS Release Notes.
:::note Downgrading KOTS to a version earlier than what is currently deployed is not supported. :::
To update KOTS in an online existing cluster:
-
Run one of the following commands to update the KOTS CLI to the target version of KOTS:
-
Install or update to the latest version:
curl https://kots.io/install | bash
-
Install or update to a specific version:
curl https://kots.io/install/VERSION | bash
Where
VERSION
is the target KOTS version.
For more KOTS CLI installation options, including information about how to install or update without root access, see Installing the KOTS CLI.
-
-
Run the following command to update the KOTS Admin Console to the same version as the KOTS CLI:
kubectl kots admin-console upgrade -n NAMESPACE
Replace
NAMESPACE
with the namespace in your cluster where KOTS is installed.
To update KOTS in an existing air gap cluster:
-
Download the target version of the following assets from the Releases page in the KOTS GitHub repository:
- KOTS Admin Console
kotsadm.tar.gz
bundle - KOTS CLI plugin
Ensure that you can access the downloaded bundles from the environment where the Admin Console is running.
- KOTS Admin Console
-
Install or update the KOTS CLI to the version that you downloaded. See Manually Download and Install in Installing the KOTS CLI.
-
Run the following command using registry read-only credentials to update the KOTS Admin Console:
kubectl kots admin-console upgrade \ --kotsadm-registry REGISTRY_HOST \ --registry-username RO_USERNAME \ --registry-password RO_PASSWORD \ -n NAMESPACE
Replace:
REGISTRY_HOST
with the same private registry from the previous step.RO_USERNAME
with the username for credentials with read-only permissions to the registry.RO_PASSWORD
with the password associated with the username.NAMESPACE
with the namespace on your cluster where KOTS is installed.
For help information, run
kubectl kots admin-console upgrade -h
.