logo
< Back Post-Image

Kubernetes 1.20

Une nouvelle version de Kubernetes est disponible. La 1.20 est sortie hier et c’est l’occasion pour nous de revenir sur les nouveautés.

Le cycle de release est de retour à la normal avec un cycle de 11 semaines.

Le changelog est disponible également en version plus lisible.

Le but de cet exercice n’est pas de paraphraser le CHANGELOG mais bien de vous donner nos insights et de pointer les éléments qui sont, selon nous, importants et/ou intéressants. Ce passage en revue de la 1.20 n’est donc ni exhaustive, ni impartiale ;)

Docker est déprécié

Le support de Docker est effectivement déprécié, cette nouvelle en aura surpris plus d’un. Pourquoi ce n’est pas grave ? Nous en parlions ici

Alpha : Graceful node shutdown

Lors de la mise à jour des nodes Kubernetes, une opération de drain est en général réalisée afin de retirer les pods s’exécutant sur le node dans le but de le mettre à jour et de le redémarrer par exemple.

Dans le cas où un node n’est pas drainé, la Feature Gate GracefulNodeShutdown permet au Kubelet de détecter le shutdown d’un node et de rajouter un délai supplémentaire dans le but de terminer proprement les pods s’exécutant sur le node.

Les snapshots passent en GA

CSI fourni une manière standard de créer des snapshot pour les plugins qui le supportent via le snapshot controller.

Ce composant ainsi que les Custom Resources Definition utilisées passent en v1 et fournissent une interface stable sur laquelle les solutions de stockage peuvent s’appuyer pour fournir des fonctionnalités de backup / snapshot avancées.

Kubectl debug est en beta

kubectl debug permet de debugger des pods dans le cas ou un exec est difficile voir impossible (eg. distroless)

Nous la présentions en 1.18, elle passe aujourd’hui en beta.

Autres changements

  • Les runtimeclasses permettant d’utiliser de multiples container runtimes passent en v1
  • Nouvelle implémentation de dual stack IPv4/ IPv6
  • Dans le but d’utiliser un langage non offensif, le terme master sera peu à peu remplacé par controlplane (comme Github avec la branch main) à commencer par les labels kubeadm : node-role.kubernetes.io/master devient node-role.kubernetes.io/control-plane et node-role.kubernetes.io/master:NoSchedule devient node-role.kubernetes.io/control-plane:NoSchedule

Conclusion

A dans trois mois pour Kubernetes 1.21 !

L’équipe Particule