Upgrading Kubernetes Clusters
The following lists what software and pods will be upgraded during this quarter.
- Upgrade the Operating System.
- Upgrade Kubernetes.
- Upgrade kubeadm, kubectl, and kubelet RPMs from 1.19.6 to 1.20.6.
- kube-apiserver is upgraded from 1.19.6 to 1.20.6 automatically.
- kube-controller-manager is upgraded from 1.19.6 to 1.20.6 automatically.
- kube-scheduler is upgraded from 1.19.6 to 1.20.6 automatically.
- kube-proxy is upgraded from 1.19.6 to 1.20.6 automatically.
- pause is upgraded from 3.2 to 3.4.1
- Upgrade docker from 1.13.1-203 to 1.13.1-204.
- Upgrade Calico from 3.17.1 to 3.18.2.
- Upgrade Filebeat from 7.10.0 to 7.12.1
- metrics-server is upgraded from 0.4.1 to 0.4.3.
- kube-state-metrics is upgraded from 1.9.7 to 2.0.0.
Unchanged Products
The following products do not have an upgrade this quarter.
- kubernetes-cni remains at 0.8.7-0.
- coredns remains at 1.7.0.
- etcd remains at 3.4.13-0.
Upgrade Notes
The following notes provide information on what changes might be affecting users of the clusters when upgrading from one version to the next. The notes I’m adding reflect what I think relevant to our environment so no discussions on Azure although I might call it out briefly. For more details, click on the provided links. If you find something you think relevant, please let me know and I’ll add it in.
Kubernetes Core
The following notes will reflect changes that might be relevant between the currently installed 1.19.6 up through 1.20.6, the target upgrade for Q2. While I’m trying to make sure I don’t miss something, the checks are for my specific environment. If you’re not sure, check the links to see if any changes apply to your product/project. Reminder that many of the 1.19 updates are the same as the 1.20 updates. As 1.20 is updated and patched, similar 1.19 releases address the same patches.
- 1.19.7 – CPUmanager bug fix and cadvisor metrics fix.
- 1.19.8 – Avoid marking a node as ready before it validates all API calls at least once. Static pods are deleted gracefully.
- 1.19.9 – Counting a pods overhead resource usage as part of the ResourceQuota.
- 1.19.10 – Nothing relevant to my environment.
- 1.20.0 – The biggest is dockershim being deprecated and replaced with containerd. The new API Priority and Fairness configurations are in beta. This lets you prevent an overflow of API Server requests which might impact the API Server.
- 1.20.1 –
- 1.20.2 –
- 1.20.3 –
- 1.20.4 –
- 1.20.5 –
- 1.20.6 –
Calico
The major release notes are on a single page. Versions noted here to describe the upgrade for each version. For example, 3.17.2 through 3.17.4 all point to the 3.17 Release Notes. Here I’m describing the changes, if relevant, between the point releases.
Note that we’re not currently using many of the features of Calico yet so improvements, changes, and fixes for Calico issues aren’t likely to impact any current services.
Filebeat
docker
Run rpm -q --changelog docker
- 1.13.1-204 –
kube-state-metrics
- v2.0.0 –
metrics-server
References
- Kubernetes 1.20 Release Announcement
- Kubernetes 1.20 Release Notes
- API Priority and Fairness (APF) aka Flow Control
- etcd 3.4.13-0 Release Notes – Lists all the releases
- Kubernetes Change Log for 1.20 – Review 1.20.0-1.20.6
- Kubernetes Change Log for 1.19 – Review 1.19.7-1.19.10
- pause 3.4.1
- Sysdig: What’s New in Kubernetes 1.20
- Kubeadm Upgrade to 1.20
- coredns Blog – Lists all the releases
- Calico Upgrade to 3.18.2
- Elastic Stack Filebeat Container Upgrades to 7.12.1
- metrics-server v0.4.3
- kube-state-metrics v2.0.0