Upgrading Customer-Managed Kinetic Platform Components in an Air-Gapped Environment

Overview

This guide outlines the steps for upgrading the Kinetic Platform in an air-gapped environment using either your own cluster or an embedded cluster.

Downloading the Airgap Bundle

Follow these steps to get the airgap bundle needed to complete the upgrade:

  1. Access the Customer Portal using the link provided during your initial installation, then log in using the password associated with your account.
    Note: Contact Kinetic Support if you have lost the link and/or your password.
  2. Select Download airgap bundle.

    ℹ️

    Optional: If you want to install this airgap bundle via the command-line interface (CLI) instead of using the UI (recommended), proceed to either the Embedded Upgrade section (if you did the original install installed using the embedded installer) or the Bring Your Own Cluster (BYOC) Upgrade section (if you installed in your own Kubernetes cluster).

Upgrading via the Admin Console

  1. Access the Admin Console for your Platform installation.
  2. In the Upload New Version section, drop the airgap bundle when prompted.
  3. Click Deploy when you're ready to deploy the new version.

Upgrading via the Command Line Interface

Follow these steps if you want to upgrade your Platform installation using the command line interface (CLI):

  1. Move the airgap bundle onto one of the nodes running in your cluster using the approved method for transferring files into your environment.
  2. Follow the appropriate steps below based on your cluster setup.

Using Your Own Cluster

  1. Run the upgrade command below. You can optionally add --deploy to deploy the release automatically.

    # APP_SLUG can be found in the URL of for the configuration page (i.e. https://...:8800/app/APP_SLUG)
    # PATH_TO_AIRGAP_FILE is the relative path to the moved airgap bundle file
    # REGISTRY_NAMESPACE is the namespace where the private registry for images resides
    # REGISTRY_HOST is the hostname of the private registry
    # REGISTRY_USERNAME is the username to login to the private registry
    # REGISTRY_PASSWORD is the password for the registry username
    # ADMIN_CONSOLE_NAMESPACE is where the namespace where kots was installed during original installation
    
    kubectl kots upstream upgrade APP_SLUG \
      --airgap-bundle PATH_TO_AIRGAP_FILE \
      --kotsadm-namespace REGISTRY_NAMESPACE \
      --kotsadm-registry REGISTRY_HOST \
      --registry-username REGISTRY_USERNAME \
      --registry-password REGISTRY_PASSWORD \
      -n ADMIN_CONSOLE_NAMESPACE \
      [--deploy] # Optional
    
    
  2. If the optional --deploy parameter was not passed, open the Admin Console for your Platform installation and click Deploy when you are ready to install this release.

Using an Embedded Cluster

  1. Run the upgrade command below. You can optionally add --deploy to deploy the release automatically.

    # APP_SLUG can be found in the URL of for the configuration page (i.e. https://...:8800/app/APP_SLUG)
    # PATH_TO_AIRGAP_FILE is the relative path to the moved airgap bundle file
    # ADMIN_CONSOLE_NAMESPACE is where the namespace where kots was installed during original installation
    
    kubectl kots upstream upgrade APP_SLUG \
      --airgap-bundle PATH_TO_AIRGAP_FILE \
      -n ADMIN_CONSOLE_NAMESPACE
    
  2. If the optional --deploy parameter was not passed, open the Admin Console for your Platform installation and click Deploy when you are ready to install this release.