Upgrading Kubernetes Versions in a Non-Air-Gapped Environment

Overview

This guide outlines the steps for upgrading the following components in non-air-gapped environments that use an embedded cluster:

  • Kubernetes version upgrades
  • Upgrades for any add-on bundled into the embedded installer

Process

  1. Run the kurl.sh install script on any primary node in the cluster, adding other advanced options with any flags that you used on the first installation. For example, the ha flag was added if you ran the original install for a High Availability Cluster.

    ℹ️

    Check the Admin Console for the Kinetic Platform to see whether there are any pending platform releases available that have not yet been applied. This process will automatically upgrade the platform to the latest release available. If you want to skip this automatic upgrade, add the app-version-label flag and point it to the release you want to remain on (for example, app-version-label=1.2.3).

    curl -sSL https://k8s.kurl.sh/kinetic-platform-application \
      sed 's|kubeadm upgrade plan|kubeadm upgrade plan --ignore-preflight-errors=CoreDNSUnsupportedPlugins|' \
      | sudo bash -s [ha,app-verison-label,...]
    
  2. If a Kubernetes Version upgrade is required, the script will automatically print a “Drain local node and apply upgrade?” prompt. The script will then drain and upgrade each other node in the cluster sequentially.

  3. When prompted, run additional commands on the other nodes within the cluster.

  4. The upgrade is complete once the install.sh script is done running.