Chaque nouvelle version de Kubernetes est un petit événement dans le monde en constante évolution du DevOps. Dans cet article, nous allons voir les nouveautés apportées par la version 1.31 de Kubernetes sortie le 13 aout 2024. Au programme, une gestion des ressources plus fine, une sécurité renforcée et une meilleure prise en charge des différentes infrastructures cloud.
Avant de se lancer
Vous souhaitez maitriser la dernière version de l’outil ? Notre formation Kubernetes vous apprendra tout ce qu’il y a à savoir sur l’outil et vous permettre d’automatiser et de gérer vos environnements d’applications conteneurisées.
L’équipe Ambient IT
Principales Fonctionnalités
La sécurité est au cœur de cette version 1.31 de Kubernetes avec le support stable d’AppArmor qui permet de spécifier des profils de sécurité pour les conteneurs et les pods via l’API.
De nouvelles stratégies de gestion de ressources pour les pods sont également disponibles avec la possibilité de définir des limites de ressources spécifiques pour certains conteneurs.
Performance et Stabilité
Kubernetes 1.31 innove grandement pour la stabilité de ses environnements avec l’introduction d’un backend nftables pour kube-proxy, passant en bêta et activé par défaut pour améliorer les performances.
De plus, la fiabilité de l’Ingress est améliorée grâce à une meilleure gestion de la connexion par kube-proxy, incluant l’évacuation des connexions pour les services LoadBalancer.
API Kubernetes
L’API de Kubernetes est considérablement enrichie avec l’introduction de la gestion de plusieurs CIDRs de services et d’un nouveau champ trafficDistribution
.
Cela permet d’améliorer les décisions prises en matière de routage.
Gestion des Ressources et Ordonnancement
De nombreuses modifications ont été apportées à la gestion des ressources dans Kubernetes 1.31.
Dans les changements les plus notables, on peut citer les politiques d’éviction des pods malsains pour les PodDisruptionBudgets ce qui permet de réduire les perturbations.
Lors de pénuries de ressources, seuls les pods robustes peuvent être épargnés de l’éviction.
Sécurité
Comme vu plus haut, le support d’AppArmor est désormais stable dans cette version 1.31 de Kubernetes.
En plus du support d’AppArmor, Kubernetes 1.31 introduit des améliorations liées aux tokens de compte de service, avec la possibilité de lier les tokens aux nœuds, améliorant ainsi la sécurité.
Impact sur les Clusters Existant
La migration vers Kubernetes 1.31 nécessite une attention particulière sur les dépréciations et les suppressions de fonctionnalité :
- Les plugins de volumes CephFS et Ceph RBD sont supprimés et doivent être remplacés par les pilotes CSI correspondants.
- Le support de cgroup v1 passe en mode maintenance, incitant à la transition vers cgroup v2 qui offre une meilleure fonctionnalité, une interface cohérente et une meilleure évolutivité. . Cela reflète aussi la volonté de s’aligner sur l’écosystème Linux.
- Un certain nombre de codes de fournisseur de cloud intégré est supprimé avec de rendre Kubernetes plus neutre vis-à-vis d’eux. Vérifiez bien la documentation officielle pour vous assurer que vos API ne sont pas dépréciées.
- Les certificats SHA-1 sont également obsolètes. Il vous faudra migrer vers les certificats SHA-256.
Il faut noter aussi que les changements dans les métriques, avec l’apparition de nouvelles et la dépréciation de certaines, aura un impact sur vos outils de monitoring.
Gestion du Stockage
Les politiques de réclamation pour les PersistentVolumes sont aussi soumises à des changements. Elles disposent maintenant de finaliseurs
Ils garantissent que la politique « Delete » est bien respectée même après la suppression du PVC.
Un nouveau champ de suivi de la dernière transition de phase pour les PersistentVolumes est introduit : .status.lastTransitionTime
Il permet de suivre plus facilement leur cycle de vie et d’assister dans la gestion et le débogage.
Conclusion : Comment se préparer à Kubernetes 1.31 ?
Pour une migration réussie vers Kubernetes 1.31, il est recommandé de bien comprendre les nouveautés et les changements, de mettre à jour la documentation et les outils de support, et de planifier des tests approfondis avant de déployer en production.
En cas de doute, référez-vous bien à la documentation officielle de Kubernetes ainsi qu’aux différentes communautés et forums en ligne où des experts du DevOps partagent régulièrement leurs connaissances et leurs expériences.
Dans le doute le plus efficace reste toujours de suivre une formation !