Upgrade from v1.5.0/1.5.1 to v1.6.0
General Information
An Upgrade button appears on the Dashboard screen whenever a new Harvester version that you can upgrade to becomes available. For more information, see Start an upgrade.
You can directly upgrade from v1.5.0 to v1.6.0 because Harvester allows a maximum of one minor version upgrade for underlying components. Harvester v1.5.0 and v1.5.1 use the same minor version of RKE2 (v1.32), while Harvester v1.6.0 uses the next minor version (v1.33).
For information about upgrading Harvester in air-gapped environments, see Prepare an air-gapped upgrade.
Update Harvester UI Extension on Rancher v2.12.0
You must use v1.6.0 of the Harvester UI Extension to import Harvester v1.6.0 clusters on Rancher v2.12.0.
On the Rancher UI, go to local > Apps > Repositories.
Locate the repository named harvester, and then select ⋮ > Refresh.
Go to the Extensions screen.
Locate the extension named Harvester, and then click Update.
Select version 1.5.1, and then click Update.
Allow some time for the extension to be updated, and then refresh the screen.
Known Issues
1. Upgrade is Stuck in the "Pre-drained" State
In certain situations, the Longhorn Instance Manager might fail to clean up an engine instance, even after the state of the engine CR has changed to "Stopped". The upgrade process becomes stuck in the "Pre-drained" state because the instance-manager pod cannot be deleted while the corresponding PodDisruptionBudget (PDB) still exists.
The workaround is to delete the instance-manager PDB after ensuring that all volumes are healthy.
Related issues: #8977 and #11605
2. Guest Cluster is Stuck in the "Updating" State
An RKE2 guest cluster may become stuck in the "Updating" state after Harvester is upgraded. The following error message is displayed on the Harvester UI:
Configuring etcd node(s) rke2-pool1-xdvfc-qf4vb: Node condition MemoryPressure is Unknown. Node condition DiskPressure is Unknown. Node condition PIDPressure is Unknown. Node condition Ready is Unknown, waiting for probes: calico, etcd, kube-apiserver, kube-controller-manager
The issue occurs when the guest node's IP address changes after the upgrade, causing etcd to malfunction. It is likely that the underlying virtual machine was rebooted several times and received a new IP address from the DHCP server.
To address the issue, perform the following steps:
- On the Rancher UI, delete the error-causing node from the guest cluster.
- On the Harvester UI, check the status of the underlying virtual machine.
- If necessary, restart the virtual machine.
The virtual machine is removed, and the guest cluster attempts to create a new node. Once the node is created, the status of the guest cluster changes to "Active".
Related issue: #8950
3. Stopped Virtual Machine is Stuck in the "Starting" State
A Longhorn volume can flap between the "Detaching" and "Detached" states after a live migration. Because the volume is not ready, the associated virtual machine is unable to fully start.
The workaround is to clear the Longhorn volume's status.currentMigrationNodeID
using following command:
kubectl patch -n longhorn-system volume <volume> \
--type=merge \
--subresource status \
-p '{"status":{"currentMigrationNodeID":""}}'