Kubernetes version upgrades in Containership are as easy as the click of a button. Upgrades are performed on a single node pool at a time, though multiple node pool upgrades may be queued at once. Due to version skew constraints within Kubernetes, the following policies are enforced:
- Worker node pools must be at the same or older version than the master node pool (in other words, upgrade your master node pool before your workers)
- Minor versions cannot be skipped in an upgrade (for example, to upgrade from v1.10 to v1.12, you must upgrade to v1.11 first)
To upgrade a node pool, first navigate to the Node Pools section from the Cluster Overview page by selecting "Node Pools" on the left.
Now select the node pool to upgrade. In this example, since our worker pool is currently at the same Kubernetes version as our master node pool, we must upgrade the master node pool first in order to respect the version skew requirements listed above.
From the Node Pool Overview page, navigate to the Upgrade page by selecting "Upgrade" on the left.
Now click the Upgrade button in the top right.
In this modal, select the Target Version you would like to upgrade to and then click the Upgrade button to kick off the upgrade process.
The upgrade history for a node pool is shown on the upgrade page. Nodes will be marked as yellow while an upgrade is in progress.
Upgrades are performed one-by-one on a per-node basis, so the total upgrade time is dependent on the number of nodes in a given node pool. The upgrade time for an individual node is also dependent on the instance size of that node. Typically, master nodes will take a little bit longer than worker nodes to upgrade. 10 minutes or less per node is typical.
In the unlikely event that any node in a node pool fails to upgrade (e.g. due to a transient network issue), the Retry button will become clickable. Click Retry to initiate a new upgrade. Only nodes which previously failed to upgrade will be targeted.
After the node pool upgrade succeeds, you will see a "Upgrade successful" message for the Kubernetes version you targeted in the upgrade history at the top of the page. Now you can simply repeat the process for any other node pools that you would like to upgrade!