- SSH to deployer node
- Go to
kubernetes-hardway-ansible
directory, checkout to master
git fetch --all
git checkout --track origin/v1.21.7
- Adjust variable in the group_vars
vi group_vars/all.yml
- Adjust Kubernetes host and nodes
vi hosts/hosts
- Run ansible
ansible-playbook upgrade-kubernetes.yml -i hosts/hosts
- Verify version
kubectl version
kubectl get nodes
kubectl describe deployment coredns --namespace kube-system | grep Image
kubectl get daemonset kube-flannel-ds --namespace kube-system -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
Please note that upgrading from v1.19.10 to v1.20.12 will also upgrade flannel, coredns, and metrics-server. Please test in staging or testing cluster before upgrading.
- SSH to deployer node
- Go to
kubernetes-hardway-ansible
directory, checkout to master
git fetch --all
git checkout --track origin/v1.20.12
- Adjust variable in the group_vars
vi group_vars/all.yml
- Adjust Kubernetes host and nodes
vi hosts/hosts
- Run ansible
ansible-playbook upgrade-kubernetes.yml -i hosts/hosts
- Verify version
kubectl version
kubectl get nodes
kubectl describe deployment coredns --namespace kube-system | grep Image
kubectl get daemonset kube-flannel-ds --namespace kube-system -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
Please note that upgrading from v1.18.7 to v1.19.10 will also upgrade flannel, coredns, and metrics-server. Please test in staging or testing cluster before upgrading.
- SSH to deployer node
- Go to
kubernetes-hardway-ansible
directory, checkout to master
git fetch --all
git checkout --track origin/v1.19.10
- Adjust variable in the group_vars
vi group_vars/all.yml
- Adjust Kubernetes host and nodes
vi hosts/hosts
- Run ansible
ansible-playbook upgrade-kubernetes.yml -i hosts/hosts
- Verify version
kubectl version
kubectl get nodes
kubectl describe deployment coredns --namespace kube-system | grep Image
kubectl get daemonset kube-flannel-ds --namespace kube-system -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
Upgrading to 1.18.7 is breaking change from 1.18.6 because there is a change in the PKI. in 1.18.6 I use Kelsey Kubernetes hard way to generate the PKI. We try to move into the best practice guide https://kubernetes.io/docs/setup/best-practices/certificates.
group_vars Change log:
- add
kubernetes.components.encryptionProvider
- add
infrastructure.ca.intermediateExpireTime
currently there is no way to upgrade from v1.18.6 to v1.18.7 because there is a problem with etcd.