Upgrading Harvester

Upgrade support matrix

The following table shows the upgrade path of all supported versions.

Upgrade from versionSupported new version(s)
v1.0.2v1.0.3
v1.0.1v1.0.2
v1.0.0v1.0.1

Start an upgrade

Note we are still working towards zero-downtime upgrade, due to some known issues please follow the steps below before you upgrade your Harvester cluster:

Upgrading Harvester - 图1caution

  • Before you upgrade your Harvester cluster, we highly recommend:
    • Shutting down all your VMs (Harvester GUI -> Virtual Machines -> Select VMs -> Actions -> Stop).
    • Back up your VMs.
  • Do not operate the cluster during an upgrade. For example, creating new VMs, uploading new images, etc.
  • Make sure your hardware meets the preferred hardware requirements. This is due to there will be intermediate resources consumed by an upgrade.
  • Make sure each node has at least 25 GB of free space (df -h /usr/local/).

Upgrading Harvester - 图2caution

  • Make sure all nodes’ times are in sync. Using an NTP server to synchronize time is recommended. If an NTP server is not configured during the installation, you can manually add an NTP server on each node:

    1. $ sudo -i
    2. # Add time servers
    3. $ vim /etc/systemd/timesyncd.conf
    4. [ntp]
    5. NTP=0.pool.ntp.org
    6. # Enable and start the systemd-timesyncd
    7. $ timedatectl set-ntp true
    8. # Check status
    9. $ sudo timedatectl status

Upgrading Harvester - 图3caution

  • NICs that connect to a PCI bridge might be renamed after an upgrade. Please check the knowledge base article for further information.

  • Make sure to read the Warning paragraph at the top of this document first.

  • Harvester checks if there are new upgradable versions periodically. If there are new versions, an upgrade button shows up on the Dashboard page.

    • If the cluster is in an air-gapped environment, please see Prepare an air-gapped upgrade section first. You can also speed up the ISO download by using the approach in that section.
  • Navigate to Harvester GUI and click the upgrade button on the Dashboard page.

    Upgrading Harvester - 图4

  • Select a version to start upgrading.

    Upgrading Harvester - 图5

  • Click the circle on the top to display the upgrade progress. Upgrading Harvester - 图6

Prepare an air-gapped upgrade

Upgrading Harvester - 图7caution

Make sure to check Upgrade support matrix section first about upgradable versions.

  • Download a Harvester ISO file from release pages.

  • Save the ISO to a local HTTP server. Assume the file is hosted at http://10.10.0.1/harvester.iso.

  • Download the version file from release pages, for example, https://releases.rancher.com/harvester/{version}/version.yaml

    • Replace isoURL value in the version.yaml file:

      1. apiVersion: harvesterhci.io/v1beta1
      2. kind: Version
      3. metadata:
      4. name: v1.0.2
      5. namespace: harvester-system
      6. spec:
      7. isoChecksum: <SHA-512 checksum of the ISO>
      8. isoURL: http://10.10.0.1/harvester.iso # change to local ISO URL
      9. releaseDate: '20220512'
    • Assume the file is hosted at http://10.10.0.1/version.yaml.

  • Log in to one of your control plane nodes.

  • Become root and create a version:

    1. [email protected]:~> sudo -i
    2. [email protected]:~> kubectl create -f http://10.10.0.1/version.yaml
  • An upgrade button should show up on the Harvester GUI Dashboard page.