Kubespray provides additional playbooks to manage your cluster: you can upgrade your cluster by running the upgrade-cluster.yml playbook. The reasons that can lead to updating your cluster may be due to an update of the GitHub repository or because you want to make some customizations. In practice, the update command is similar to that seen for cluster deployment
The difference lies in the playbook used, of course. Components are upgraded in the order in which they were installed in the Ansible playbook. The order of component installation is as follows:
- Docker
- etcd
- kubelet and kube-proxy
- network_plugin (such as Calico or Weave)
- kube-apiserver, kube-scheduler, and kube-controller-manager
- Add-ons (such as KubeDNS)
Anyway, before launching the update, let's see a handful of parameters that can be changed and what to do in order not to run into versioning problems.
Plan your cluster deployment
The main files to be analyzed and modified for the configuration of our cluster are:
Multiple upgrades
Attention
Attempting to upgrade from an older release straight to the latest release is unsupported and likely to break something: do not skip releases when upgrading, but by one tag at a time.