Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Examiner les notes de mise à jour pour les versions Kubernetes bénéficiant d’une assistance standard
Astuce
Inscrivez-vous
Cette rubrique présente les modifications importantes à prendre en compte pour chaque version Kubernetes bénéficiant d’une assistance standard. Lors de la mise à niveau, examinez attentivement les modifications apportées entre l'ancienne et la nouvelle version de votre cluster.
Kubernetes 1.37
Kubernetes 1.37 est désormais disponible dans Amazon EKS. Pour plus d’informations sur Kubernetes 1.37, consultez l’annonce officielle de publication
Important
-
L'étiquetage des montages SELinux est activé par défaut (GA) : dans Kubernetes 1.37, la
SELinuxMountfonctionnalité est activée par défaut. Lorsqu'un pod est configuréseLinuxOptionset que le pilote CSI de son volume est définiseLinuxMount: true, le kubelet monte le volume avecmount -o context=<label>au lieu de renommer chaque fichier. Un montage ne peut porter qu'une seule étiquette SELinux, donc un pod reste actifContainerCreatingsi un autre pod du même nœud utilise déjà le même volume avec une étiquette SELinux différente, un niveau de privilège différent ou un niveau deseLinuxChangePolicyprivilège différent. Les nœuds sur lesquels SELinux n'est pas activé ne sont pas affectés.-
Action requise : Avant de procéder à la mise à niveau, lancez
kubectl get csidriver -o custom-columns=NAME:.metadata.name,SELINUXMOUNT:.spec.seLinuxMountla recherche de pilotes avecseLinuxMount: true. Pour les volumes provenant de ces pilotes, recherchez les pods qui définissentseLinuxOptionset partagent un volume. Les pods qui partagent un volume doivent utiliser le mêmeseLinuxOptions.leveletseLinuxChangePolicy. Si un Pod privilégié et un Pod non privilégié partagent un volume, sélectionnezspec.securityContext.seLinuxChangePolicy: Recursivele Pod non privilégié.Recursiveconserve le comportement de réétiquetage précédent ; appliquez-le à tous les Pods partageant le même volume. Pour plus d'informations, voir SELinux Volume Label Changes goes GA (et implications probables dans la version 1.37) et.KEP-1710
-
-
Consolidation du mode automatique EKS par défaut : à partir de Kubernetes 1.37, nouveau mode automatique EKS NodePools qui ne spécifie pas
consolidationPolicypar défaut au lieu de.BalancedWhenEmptyOrUnderutilizedBalancedse traduit généralement par une diminution du nombre d'expulsions de Pod pour un coût à peu près le même. Ils sont intégrésgeneral-purposesystemNodePools et utilisésBalanced, et vous ne pouvez pas modifier ce paramètre sur eux. Pour plus de détails, consultez les notes de mise à jour d'EKS Auto Mode.-
Action requise : pour conserver un comportement de consolidation spécifique,
consolidationPolicydéfinissez-le vous-même de manière explicite NodePools. Si une charge de travail nécessite le comportement précédent, ciblez un NodePool comportement définiconsolidationPolicy: WhenEmptyOrUnderutilized.
-
-
Allocation dynamique des ressources (DRA) : les pilotes DRA et les administrateurs de clusters peuvent altérer les périphériques, tels que les GPU, de sorte que le planificateur ne les alloue pas aux pods qui ne tolèrent pas cette altération. L'utilisation de DRA sur EKS nécessite l'installation d'un pilote DRA, ce qu'EKS n'installe pas. Le pilote NVIDIA DRA est compatible avec la capacité statique Karpenter, les groupes de nœuds gérés EKS et les nœuds autogérés. Il n'est pas compatible avec le mode automatique EKS. Avec EKS Auto Mode ou Karpenter Dynamic Capacity Provisioning, utilisez le plug-in NVIDIA Device.
-
Lorsque vous créez un
DeviceTaintRule, définissez toujoursspec.deviceSelector. Pour cibler tous les appareils, utilisezdeviceSelector: {}. Pour plus d'informations, consultez la section Utiliser le pilote NVIDIA DRA ou le plug-in de périphérique sur Amazon EKS.
-
-
Tolérance configurable de l'autoscaler horizontal Pod (stable) : vous pouvez définir une tolérance par HPA, séparément pour l'augmentation et la réduction de l'échelle, au lieu de vous fier uniquement à la valeur par défaut de 10 % pour l'ensemble du cluster.
-
Horizontal Pod Autoscaler Scale to Zero (bêta) : le
HPAScaleToZeroFeature Gate est activé par défaut dans Kubernetes 1.37. Un HPA qui évolue en fonction de métriques d'objets ou externes peut être configuréminReplicas: 0pour passer à zéro Pods lorsqu'il est inactif et pour revenir en arrière lorsque la demande revient. Les métriques d'objets et externes nécessitent un adaptateur de métriques, qu'EKS n'installe pas. -
Modifications de configuration du kubelet : le kubelet ne démarre plus si un indicateur cAdvisor obsolète est défini (sauf
--housekeeping-interval), supprime lescontainer_tasks_statemétriquescontainer_cpu_load_average_10scontainer_cpu_load_d_average_10s, et et est traité comme aucune limite.eventRecordQPS: 0Précédemment, une limite de 5 événements par seconde étaiteventRecordQPS: 0appliquée. EKS-optimized Les AMI ne définissent pas les indicateurs cAdvisor obsolètes oueventRecordQPS, par conséquent, leur démarrage de kubelet et leur limite de débit restent inchangés. Les métriques supprimées concernent tous ceux qui les récupèrent, quelle que soit l'AMI.-
Action requise : si vous utilisez des AMI personnalisées ou des arguments de kubelet supplémentaires, supprimez les indicateurs cAdvisor obsolètes et, si vous les définissez
eventRecordQPS: 0, modifiez-les5pour conserver la limite de débit précédente. Mettez à jour tous les tableaux de bord ou alertes qui utilisent les mesures supprimées. Pour plus d'informations, consultez la référence de configuration de kubelet (v1beta1).
-
-
Kubelet enregistre sa configuration au démarrage : le kubelet enregistre désormais sa configuration effective complète au démarrage. Assurez-vous que seuls les utilisateurs de confiance peuvent lire les journaux des nœuds. Pour plus d'informations, consultez kubernetes/kubernetes #139837
. -
Pilote NVIDIA 595 pour les instances Amazon EC2 G7 : les instances G7 nécessitent le pilote NVIDIA 595. Les AMI NVIDIA EKS-optimized Amazon Linux 2023 incluent le pilote 595 sur toutes les versions prises en charge ; les AMI NVIDIA Bottlerocket l'incluent sur Kubernetes 1.37 et versions ultérieures.
Pour le journal des modifications complet de Kubernetes, voir 1.37 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.37.md
Kubernetes 1.36
Kubernetes 1.36 est désormais disponible dans Amazon EKS. Pour plus d’informations sur Kubernetes 1.36, consultez l’annonce officielle de publication
Important
-
Suppression du volume GitRepo : le type de
gitRepovolume est définitivement désactivé dans Kubernetes 1.36 et ne peut pas être réactivé. L'API Kubernetes accepte toujours les Pods contenant desgitRepovolumes, mais le kubelet refusera de les exécuter et renverra une erreur.-
Action requise : migrez vers des conteneurs d'initialisation
ou des conteneurs sidecar git-sync avant de passer à la version 1.36. Pour plus d’informations, consultez KEP-5040 .
-
-
Modifications de l'étiquetage des volumes SELinux (GA) : dans Kubernetes 1.36, l'étiquetage des volumes SELinux, plus rapide, s'applique par défaut à tous les volumes, en utilisant au lieu d'un réétiquetage récursif des fichiers.
mount -o contextLe partage d'un volume sur le même nœud entre des pods privilégiés et non privilégiés, ou entre des pods portant des étiquettes SELinux différentes, peut entraîner des problèmes. LeSELinuxMountcomportement associé qui peut contenir un podContainerCreatingest activé par défaut dans Kubernetes 1.37, et non dans 1.36. Consultez la section Kubernetes 1.37 avant de procéder à la mise à niveau.-
Action requise : Avant la mise à niveau, auditez les clusters qui exécutent SELinux-enabled des nœuds et assurez-vous que le
seLinuxChangePolicychamp et les étiquettes de volume SELinux sont correctement définis sur les pods qui partagent un volume. Pour plus d'informations, voir SELinux Volume Label Changes goes GA (et implications probables dans la version 1.37).
-
-
IP/CIDR Validation stricte activée par défaut : la
StrictIPCIDRValidationfonctionnalité gate est désormais activée par défaut pour les types d'API intégrés. Les champs d'API n'acceptent plus les valeurs IP ou CIDR comportant des zéros superflus (par exemple,010.000.000.005au lieu de10.0.0.5) ou les valeurs CIDR dont la sémantique est ambiguë (par exemple, au lieu de).192.168.0.5/24192.168.0.0/24Les objets stockés existants sont préservés via un cliquet de validation, mais les nouvelles créations et mises à jour seront rejetées. Cela ne s'applique pas aux types de ressources personnalisés.-
Action requise : Vérifiez les manifestes, les diagrammes Helm et l'automatisation pour les adresses IP contenant des zéros non significatifs ou une notation CIDR non canonique. Mettez-les à jour pour utiliser les formats canoniques avant de procéder à la mise à niveau. Pour plus d’informations, consultez KEP-4858
.
-
-
Espaces de noms utilisateur (stable) : les espaces de noms utilisateur fournissent une défense approfondie en mappant l'utilisateur root d'un conteneur à un utilisateur non privilégié sur l'hôte, garantissant ainsi qu'une rupture de conteneur n'accorde aucun pouvoir administratif sur le nœud.
-
Pour plus d'informations, consultez la section Les espaces de noms utilisateur de Kubernetes sont enfin disponibles
sur le blog Kubernetes.
-
-
État de santé des ressources (version bêta) : indique l'état de santé de chaque appareil dans l'état du pod, ce qui permet aux opérateurs de déterminer si une boucle de blocage est due à un état de périphérique défectueux ou inconnu plutôt qu'à des problèmes d'application. Fonctionne à la fois avec les plugins de périphériques et l'allocation dynamique des ressources.
-
Pour plus d’informations, consultez KEP-4680
.
-
-
Fonctionnalités d'allocation dynamique des ressources (bêta) : plusieurs fonctionnalités DRA sont désormais activées par défaut : les périphériques partitionnables et la capacité consommable pour un partage plus précis du matériel tel que les GPU, et les conditions de liaison des appareils pour des contrôles approfondis de l'état de préparation des appareils avant la planification.
-
Pour plus d'informations, consultez Kubernetes v1.36 : More Drivers, New Features, and the Next Era of DRA
sur le blog Kubernetes.
-
-
Avis de dépréciation — Service ExternalIps : le
externalIPschamp de Service.specest obsolète dans Kubernetes 1.36. Des avertissements de dépréciation s'afficheront lors de la création ou de la mise à jour de services utilisant ce champ. La suppression complète de Kubernetes 1.43 est prévue. Les clients qui l'utilisentexternalIPsdoivent migrer vers LoadBalancer les NodePort services ou l'API Gateway. Pour plus d’informations, consultez KEP-5707 .
Pour le journal des modifications complet de Kubernetes, voir 1.36 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.36.md
Kubernetes 1.35
Kubernetes 1.35 est désormais disponible dans Amazon EKS. Pour plus d’informations sur Kubernetes 1.35, consultez l’annonce officielle de publication
Important
-
Suppression du support Cgroup v1 : Kubernetes 1.35 déconseille le support du cgroup v1, ce qui signifie que le kubelet refusera de démarrer par défaut sur les nœuds utilisant cgroup v1.
-
AL2023 : AL2023 utilise le cgroup v2 par défaut et s'aligne sur le comportement en amont de Kubernetes.
-
Action requise : les clients qui ont configuré manuellement AL2023 pour utiliser cgroup v1 doivent soit migrer vers cgroups v2
, soit configurer manuellement failCgroupV1: falsedans la configuration kubelet.
-
-
Bottlerocket : Bottlerocket 1.35 utilise cgroup v2 par défaut, mais le définit
failCgroupV1: falsedans la configuration de Kubelet, en maintenant la rétrocompatibilité. -
Fargate : Fargate continue d'utiliser le cgroup v1.
-
-
Fin du support de Containerd 1.x : Kubernetes 1.35 est la dernière version supportant Containerd 1.x. Vous devez passer à containerd 2.0 ou version ultérieure avant de passer à la prochaine version de Kubernetes.
-
En mars 2026, le projet Kubernetes en amont retirera Ingress NGINX, un composant d'infrastructure essentiel pour de nombreux environnements Kubernetes.
-
Action requise : les clients d'EKS doivent évaluer s'ils font confiance à Ingress NGINX et commencer à planifier la migration vers des alternatives telles que l'API Gateway ou des contrôleurs d'entrée tiers, car aucune autre version ne corrigera des bogues, des correctifs de sécurité ou des mises à jour après leur retrait. Les déploiements existants continueront de fonctionner, mais le fait de continuer à utiliser Ingress NGINX après la retraite rend votre environnement vulnérable aux risques de sécurité, car aucune des alternatives disponibles n'est un remplacement direct et nécessitera du temps de planification et d'ingénierie. Pour plus d'informations sur cette annonce de Kubernetes, consultez la déclaration officielle des comités de pilotage et de réponse à la sécurité de Kubernetes : Ingress NGINX a pris sa retraite. https://kubernetes.io/blog/2026/01/29/ingress-nginx-statement/
-
-
In-Place Mises à jour des ressources des In-Place pods (stable) : les mises à jour des ressources des pods permettent aux utilisateurs d'ajuster les ressources du processeur et de la mémoire sans redémarrer les pods ou les conteneurs. Auparavant, de telles modifications nécessitaient de recréer des Pods, ce qui pouvait perturber les charges de travail, en particulier pour les applications avec état ou par lots. La nouvelle fonctionnalité intégrée permet une mise à l'échelle verticale plus fluide et sans interruption, améliore l'efficacité et peut également simplifier le développement.
-
Pour plus d'informations, consultez Kubernetes 1.35 : In-Place Pod Resize devient stable
sur le blog Kubernetes.
-
-
PreferSameNode Distribution du trafic (stable) : le
trafficDistributionchamp des services a été mis à jour afin de permettre un contrôle plus explicite de l'acheminement du trafic. Une nouvelle option a été introduite pour permettre aux services de hiérarchiser strictement les points de terminaison sur le nœud local lorsqu'ils sont disponibles, et de revenir aux points de terminaison distants dans le cas contraire.PreferSameNodeCette modification rend l'API plus explicite quant à la préférence pour le trafic au sein du nœud actuel. -
StatefulSet MaxUnavailable (Bêta) : cette fonctionnalité permet des mises à jour parallèles des pods par réglage
maxUnavailable(par exemple, 3 ou 10 %), ce qui permet aux applications avec état telles que les clusters de bases de données de se mettre à jour jusqu'à 60 % plus rapidement que les mises à jour séquentielles une par une, ce qui réduit considérablement les fenêtres de maintenance. -
Prise en charge de Windows Server 2025 : EKS 1.35 ajoute la prise en charge de Windows Server 2025.
-
Suppression de l'indicateur Kubelet : Le
--pod-infra-container-imagedrapeau a été supprimé de Kubelet. Les utilisateurs d'AMI personnalisés doivent supprimer cet indicateur de la configuration de Kubelet avant de passer à la version 1.35. -
Avis de dépréciation - Mode IPVS : le mode IPVS dans kube-proxy est obsolète et sera supprimé dans une future version de Kubernetes. Migrez vers le mode nftables. Pour plus d'informations, consultez Exécution de kube-proxy en mode nftables.
Pour le journal des modifications complet de Kubernetes, voir 1.35 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.35.md
Kubernetes 1.34
Kubernetes 1.34 est désormais disponible dans Amazon EKS. Pour plus d’informations sur Kubernetes 1.34, consultez l’annonce officielle de publication
Important
-
Containerd a été mis à jour vers la version 2.1 dans la version 1.34 pour le lancement.
-
Si vous rencontrez des problèmes après la mise à niveau, consultez les notes de publication de
containerd 2.1.
-
-
AWS ne publie pas d'AMI EKS-optimized Amazon Linux 2 pour Kubernetes 1.34.
-
AWS vous encourage à migrer vers Amazon Linux 2023. Découvrez comment Mise à niveau d’Amazon Linux 2 vers Amazon Linux 2023.
-
Pour plus d’informations, consultez Obsolescence de l’AMI Amazon Linux 2.
-
-
AppArmor est obsolète dans Kubernetes 1.34.
-
Nous vous recommandons de migrer vers d'autres solutions de sécurité des conteneurs, telles que seccomp
ou Pod Security Standards.
-
-
VolumeAttributesClass (VAC) passe à GA dans Kubernetes 1.34, puis passe de l'API bêta (
storage.k8s.io/v1beta1) à l'API stable ().storage.k8s.io/v1-
Si vous utilisez le pilote EBS CSI avec des conteneurs sidecar AWS gérés (depuis CSI Components
sur la galerie ECR), la modification des volumes continuera de fonctionner de manière fluide sur les clusters EKS 1.31-1.33. AWS corrigera les sidecars pour prendre en charge les API VAC bêta jusqu'à la fin de la prise en charge de la norme EKS 1.33 (29 juillet 2026). -
Si vous gérez vous-même vos conteneurs de sidecar CSI, vous devrez peut-être vous connecter à d'anciennes versions de sidecar sur des clusters antérieurs à la version 1.34 pour conserver la fonctionnalité VAC.
-
Pour utiliser les VolumeAttributesClass fonctionnalités GA (telles que l'annulation des modifications), passez à EKS 1.34 ou version ultérieure.
-
-
Le signataire JWT externe pour les jetons de compte de service est promu en version bêta. Lorsque vous utilisez des signataires externes, l'indicateur --service-account-extend-token-expiration n'est plus totalement respecté. Le serveur API applique l'expiration minimale entre l'extension souhaitée (1 an) et la limite du signataire externe (24 heures).
-
Nous vous recommandons d'utiliser des jetons de compte de service liés
, qui sont automatiquement montés et pivotés par Kubernetes.
-
-
API principales (GA) d'allocation dynamique des ressources (DRA) : L'allocation dynamique des ressources est devenue stable, ce qui permet une gestion efficace du matériel spécialisé tel que les GPU via des interfaces d'allocation standardisées, simplifiant ainsi la gestion des ressources pour les accélérateurs matériels et améliorant l'utilisation des ressources spécialisées.
-
ServiceAccount Jetons projetés pour Kubelet (version bêta) : cette amélioration améliore la sécurité en utilisant des informations d'identification de courte durée pour les extraits d'images de conteneurs au lieu de secrets de longue durée de vie, réduisant ainsi le risque d'exposition des informations d'identification et renforçant la posture de sécurité globale de vos clusters.
-
Pod-level Demandes et limites de ressources (version bêta) : cette fonctionnalité simplifie la gestion des ressources en autorisant des pools de ressources partagés pour les pods multi-conteneurs, ce qui permet une allocation et une utilisation plus efficaces des ressources pour les applications complexes comportant plusieurs conteneurs.
-
Nombre de nœuds CSI modifiables pouvant être alloués (bêta) : la
MutableCSINodeAllocatableCountfonctionnalité est activée par défaut dans EKS 1.34, ce qui rend mutable l'attribut CSInode max attachable volume count et introduit un mécanisme pour le mettre à jour dynamiquement en fonction de la configuration utilisateur au niveau du pilote CSI. Ces mises à jour peuvent être déclenchées soit par intervalles périodiques, soit par détection de défaillances, ce qui améliore la fiabilité de la planification dynamique des pods en corrigeant les incohérences entre la capacité de connexion signalée et la capacité réelle des nœuds.-
Pour plus d'informations, consultez Kubernetes v1.34 : Mutable CSI Node Allocatable Count sur le blog Kubernetes.
-
-
Avis de dépréciation - Configuration du pilote de groupe de contrôle : la configuration manuelle du pilote de groupe de contrôle est obsolète au profit de la détection automatique.
-
Impact sur le client : si vous définissez actuellement l'
--cgroup-driverindicateur manuellement dans votre configuration kubelet, vous devez vous préparer à supprimer cette configuration. -
Action requise : prévoyez de mettre à jour les scripts d'amorçage des nœuds et les configurations AMI personnalisées afin de supprimer les paramètres manuels du pilote de groupe de contrôle avant que la fonctionnalité ne soit supprimée dans une future version de Kubernetes.
-
Pour plus d'informations, consultez la documentation du pilote
cgroup.
-
Pour le journal des modifications complet de Kubernetes, voir 1.34 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md