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 env1
- Nouvelle implémentation de dual stack IPv4/ IPv6
- Dans le but d’utiliser un langage non offensif, le terme
master
sera peu à peu remplacé parcontrolplane
(comme Github avec la branchmain
) à commencer par les labels kubeadm :node-role.kubernetes.io/master
devientnode-role.kubernetes.io/control-plane
etnode-role.kubernetes.io/master:NoSchedule
devientnode-role.kubernetes.io/control-plane:NoSchedule
Conclusion
A dans trois mois pour Kubernetes 1.21
!
L’équipe Particule