cluster.ninja

Kubernetes minor release · “The Raddest Release”

Kubernetes 1.20

Back on an 11-week cycle, this feature-dense release made volume snapshots stable, promoted kubectl debug to beta, and announced the deprecation of dockershim, the built-in Docker runtime shim.

End of life

End of life since 28 Feb 2022 (4.7 years ago). No more patches upstream.

Released8 Dec 2020
Maintenance mode—
End of life28 Feb 2022
Latest patch1.20.1519 Jan 2022
Patch releases15
Support span14.7 months

What 1.20 brought

change

Dockershim deprecated

Built-in Docker support through dockershim is deprecated and slated for removal later. Images built with Docker keep working on any CRI-compliant runtime because they follow the OCI spec.

change

Exec probe timeouts enforced

A long-standing bug is fixed: exec probes now honour timeoutSeconds, defaulting to one second. The ExecProbeTimeout gate set to false temporarily restores the old behaviour.

GA

Volume snapshots go stable

Snapshot operations are GA, but distributors must ship the snapshot controller, CRDs and validation webhook, and a snapshot-capable CSI driver is needed.

beta

kubectl debug

kubectl alpha debug becomes kubectl debug for copying crashing pods, adding debug containers, or opening a shell on a node. It overrides any plugin named debug.

beta

API Priority and Fairness on by default

kube-apiserver now sorts incoming requests into priority levels by default.

GA

PID limits

Node-level and per-pod process ID limits graduate to GA, protecting host daemons from pods that exhaust PIDs.

Summarised in our own words from the official “Kubernetes 1.20: The Raddest Release” announcement (42 tracked enhancements), © The Kubernetes Authors, CC BY 4.0.

APIs that stopped being served in 1.20

No API versions were removed in 1.20.

Other removals and deprecations

Deprecated

  • Dockershim, the CRI shim for Docker, is deprecated and will be removed in a later release.
  • Calling kubectl alpha debug is deprecated in favour of kubectl debug and will be removed in a future release.
  • The ExecProbeTimeout feature gate, which reverts the exec probe timeout fix, is temporary and will be locked and removed later.

From the release announcement; our wording.

Stable (GA) API kinds new in 1.20

RuntimeClass node.k8s.io/v1

Upgrading

Version skew with a 1.20 API server

  • kubelet, kube-proxy: 1.18 to 1.20
  • kube-controller-manager, scheduler: 1.19 to 1.20
  • kubectl: 1.19 to 1.21

From the official version skew policy as it stands today.

One minor at a time

The API server must not skip minor versions.

Patch releases

16 releases, newest first
  1. 1.20.1519 Jan 2022
  2. 1.20.1415 Dec 2021
  3. 1.20.1317 Nov 2021
  4. 1.20.1228 Oct 2021
  5. 1.20.1115 Sep 2021
  6. 1.20.1011 Aug 2021
  7. 1.20.915 Jul 2021
  8. 1.20.817 Jun 2021
  9. 1.20.712 May 2021
  10. 1.20.615 Apr 2021
  11. 1.20.518 Mar 2021
  12. 1.20.418 Feb 2021
  13. 1.20.317 Feb 2021
  14. 1.20.213 Jan 2021
  15. 1.20.118 Dec 2020
  16. 1.20.08 Dec 2020