Upgrade with KubeKey
This tutorial demonstrates how to upgrade your cluster using KubeKey.
- Read Release Notes for 3.2.0 carefully.
- Back up any important component beforehand.
- Make your upgrade plan. Two scenarios are provided in this document for and multi-node clusters respectively.
Follow the steps below to download KubeKey before you upgrade your cluster.
Download KubeKey from its or use the following command directly.
Run the following command first to make sure you download KubeKey from the correct zone.
Run the following command to download KubeKey:
Note
After you download KubeKey, if you transfer it to a new machine also with poor network connections to Googleapis, you must run export KKZONE=cn
again before you proceed with the steps below.
The commands above download the latest release (v1.2.0) of KubeKey. You can change the version number in the command to download a specific version.
Make kk
executable:
chmod +x kk
Upgrading steps are different for single-node clusters (all-in-one) and multi-node clusters.
Info
When upgrading Kubernetes, KubeKey will upgrade from one MINOR version to the next MINOR version until the target version. For example, you may see the upgrading process going from 1.16 to 1.17 and to 1.18, instead of directly jumping to 1.18 from 1.16.
Run the following command to use KubeKey to upgrade your single-node cluster to KubeSphere 3.2.0 and Kubernetes v1.21.5:
To upgrade Kubernetes to a specific version, explicitly provide the version after the flag --with-kubernetes
. Available versions are:
- v1.19.x
- v1.20.x
- v1.21.x
Multi-node cluster
Step 1: Generate a configuration file using KubeKey
./kk create config --from-cluster
Note
It assumes your kubeconfig is allocated in ~/.kube/config
. You can change it with the flag --kubeconfig
.
Step 2: Edit the configuration file template
Edit sample.yaml
based on your cluster configuration. Make sure you replace the following fields correctly.
- : The basic information of your hosts (hostname and IP address) and how to connect to them using SSH.
roleGroups.etcd
: Your etcd nodes.controlPlaneEndpoint
: Your load balancer address (optional).registry
: Your image registry information (optional).
Note
For more information, see or refer to the Cluster
section of the complete configuration file for more information.
Step 3: Upgrade your cluster
The following command upgrades your cluster to KubeSphere 3.2.0 and Kubernetes v1.21.5:
To upgrade Kubernetes to a specific version, explicitly provide the version after the flag . Available versions are:
- v1.19.x
- v1.20.x
- v1.21.x
To use new features of KubeSphere 3.2.0, you may need to enable some pluggable components after the upgrade.