Upgrade Multi-Node
Prerequisite
You need to download Installer 2.1.1, please refer to Upgrade Overview.
Step 1: Sync Host Template
Please sync the host configuration in conf/hosts.ini
from the old version to 2.1.1. The parameters definition is elaborated in Multi-node.
Step 2: Sync Configuration
Installer will read the files under conf
directory when upgrade. So you need to sync the changes from the conf
directory from the old version to 2.1.1 before upgrading. There are two scenarios as follows to consider.
Upgrade from 2.0.x
- You need to determine if the parameters configuration has been changed in
conf/vars.yaml
. If any parameters were changed, then sync them to 2.1.1conf
directory accordingly. In particular, the storage class needs to be consistent with the old version.
Note: The configuration file is
vars.yaml
in 2.0.x. But it changes tocommon.yaml
since 2.1.0, and separates the cloud provider related configurations into several files.
- KubeSphere has decoupled some components since 2.1.0, supports installing optional components according to your needs. The Installer will only upgrade the minimal component by default in
common.yaml
, you need to change the enabled components settings totrue
incommon.yaml
, then execute the upgrade script.
Upgrade from 2.1.0
Same as above, please sync the configuration changes from 2.1.0
conf
directory to 2.1.1. Please notice that do not copy and overlay the whole files from 2.1.0 to 2.1.1. It may cause some unexpected errors. For example, the Kubernetes version defaults to1.16.7
instead of1.15.4
in 2.1.1.The storage class needs to be consistent with 2.1.0.
Make sure to sync the enabled components from 2.1.0 to 2.1.1 in
common.yaml
.
Please notice that if you have enabled any components by editing the ks-installer ConfigMap in 2.1.0, please sync them from 2.1.0 to 2.1.1 by manually enabling these components in 2.1.1 common.yaml
. The upgrade script will read from common.yaml
.
Step 3: Start Upgrade
When you are done, refer to the following steps to upgrade:
- Enter
scripts
directory, execute theupgrade
script using root user.
./upgrade.sh
- Make sure anything looks correctly, type
yes
to start upgrade. Please wait patiently. If you see “Successful” returned after completed, it means the installation is successful. You can verify the installation logs using the command as follows.
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath={.items[0].metadata.name}) -f
Finally, use your account and password to log in KubeSphere, click About
on the top of right to check the version and verify if upgrade successfully.
If you have further questions please do not hesitate to raise issues on GitHub.