Upgrading Kubernetes Clusters
The following lists what software and pods will be upgraded during this quarter.
- Upgrade the Operating System
- Upgrade Kubernetes
- Upgrade kudeadm, kubectl, and kubelet RPMs from 1.18.8 to 1.19.6.
- Upgrade kubernetes-cni RPM from 0.8.6-0 to 0.8.7-0.
- kube-apiserver is upgraded from 1.18.8 to 1.19.6 automatically.
- kube-controller-manager is upgraded from 1.18.8 to 1.19.6 automatically.
- kube-scheduler is upgraded from 1.18.8 to 1.19.6 automatically.
- kube-proxy is upgraded from 1.18.8 to 1.19.6 automatically.
- coredns is upgraded from 1.6.7 to 1.7.0 automatically.
- etcd is upgraded from 3.4.3-0 to 3.4.13.0 automatically.
- pause is upgraded from 3.1 to 3.2 automatically.
- Upgrade Calico from 3.16.0 to 3.17.1.
- Upgrade Filebeat from 7.9.2 to 7.10.0.
- Upgrade docker from 1.3.1-162 to 1.13.1-203.
- metrics-server is upgraded from 0.3.7 to 0.4.1.
Unchanged Products
The following products do not have an upgrade this quarter.
- kube-state-metrics remains at 1.9.7.
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.18.8 up through 1.19.6, the target upgrade for Q1. While I’m trying to make sure I don’t miss something, if you’re not sure, check the links to see if any changes apply to your product/project. Reminder that many of the 1.18 updates are the same as the 1.19 updates. As 1.19 is updated and patched, similar 1.18 releases address the same patches.
- 1.18.9 – Nothing of interest.
- 1.18.10 – Nothing of interest.
- 1.18.11 – Nothing of interest.
- 1.18.12 – Nothing of interest.
- 1.18.13 – Nothing of interest.
- 1.18.14 – Nothing of interest.
- 1.19.0 – Since this had a longer lead time, there are a lot of changes. Other than what’s noted below, nothing jumped out that was causing problems. There are enough new features that you should review this section in case something jumps out that is interesting to you.
- Expanded CLI support for debugging. Can change the image to a different one, busybox for example. Can change a command to sleep for 1 day for example so there’s time to kubectl exec to debug a container.
- Insert a debug container in a pod.
- Ingress API is now GA.
- Kubernetes images are now stored in {asia,eu,us}.gcr.io/k8s-artifacts-prod and not in k8s.gcr.io. Artifactory will need to be updated.
- Kubernetes support has changed from 9 months (3 releases) to a year (4 releases).
- Deprecated APIs:apiextensions.k8s.io/v1beta1 for apiextensions.k8s.io/v1
- apiregistration.k8s.io/v1beta1 for apiregistration.k8s.io/v1
- authentication.k8s.io/v1beta1 for authentication.k8s.io/v1
- authorization.k8s.io/v1beta1 for authorization.k8s.io/v1
- autoscaling/v2beta1 for autoscaling/v2beta2
- coordination.k8s.io/v1beta1 for coordination.k8s.io/v1
- storage.k8s.io/v1beta1 for storage.k8s.io/v1
- networking.k8s.io/v1beta1 for networking.k8s.io/v1
- 1.19.1 – Nothing of interest.
- 1.19.2 – Nothing of interest.
- 1.19.3 – Nothing of interest.
- 1.19.4 – Nothing of interest.
- 1.19.5 – Nothing of interest.
- 1.19.6 – Nothing of interest.
kubernetes-cni
Running rpm -q –changelog kubernetes-cni
- Updated CNI-Tools to 0.8.7
etcd
Generally there isn’t anything that is impacting however a review of changes is always encouraged. As with all other changelog reviews, the items below are either bugs I’ve experienced or new features that look interesting. As always, feel free to follow the links to see what might be of interest to you.
- v3.4.4 – Nothing of interest.
- v3.4.5 – Nothing of interest.
- v3.4.6 – Nothing of interest.
- v3.4.7 – Nothing of interest.
- v3.4.8 – Nothing of interest.
- v3.4.9 – Nothing of interest.
- v3.4.10 – Nothing of interest.
- v3.4.11 – Nothing of interest.
- v3.4.12 – Nothing of interest.
- v3.4.13 – Nothing of interest.
coredns
- 1.6.8 – Updates to plugin: azure, cache, forward (3), hosts, kubernetes (2), metrics, and pkg/up.
- 1.7.0 – Lots of metrics name changes. New DNS64 IPv6 plugin. Plugin updates: azure, dns64, federation (removed), forward (2), k8x_external, kubernetes (4), nsid.
Calico
The major release notes are on a single page. Versions noted here to describe the upgrade for each version. For example, 3.16.1 through 3.16.5 all point to the 3.16 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.
- 3.16.1 – Nothing of interest.
- 3.16.2 – Nothing of interest.
- 3.16.3 – Nothing of interest.
- 3.16.4 – Nothing of interest.
- 3.16.5 – Nothing of interest.
- 3.17.0 – Changed from MTU of 1440 to MTU of 0 due to automatic determination of MTUs now.
- 3.17.1 – Nothing of interest.
Filebeat
docker
Run rpm -q –changelog docker
- 1.13.1-200 – rebuilt
- 1.13.1-201 – fix “Race condition in kubelet cgroup destroy process” – Resolves: #1766665
- 1.13.1-202 – fix “runc run: fix panic on failed init start” – Resolves: #1879425
- 1.13.1-203 – do not enable CollectMode support yet because it is not still present in 7.6-ALT – Related: #1766665
metrics-server
kube-state-metrics
Stays at the current version. v2.0.0 is in alpha and beta depending on your use-case.
References
- Kubernetes 1.19 Release Announcement
- Kubernetes 1.19 Release Notes
- etcd 3.4.13-0 Release Notes – Lists all the releases
- Kubernetes Change Log for 1.19 – Review 1.19.0-1.19.6
- Kubernetes Change Log for 1.18 – Review 1.18.8-1.18.14
- Sysdig: What’s New in Kubernetes 1.19
- Kubeadm Upgrade to 1.19
- coredns Blog – Lists all the releases
- Calico Upgrade to 3.17.1
- Elastic Stack Filebeat Container Upgrades
- metrics-server v0.4.1
- kube-state-metrics v1.9.7