Consultez les notes de mise à jour des versions de Kubernetes sur le support étendu - Amazon EKS

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 sur 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.

Consultez les notes de mise à jour des versions de Kubernetes sur le support étendu

Amazon EKS prend en charge les versions de Kubernetes plus longtemps qu'elles ne sont prises en charge en amont, avec un support standard pour les versions mineures de Kubernetes pendant 14 mois à compter de leur publication dans Amazon EKS, et un support étendu pour les versions mineures de Kubernetes pour 12 mois de support supplémentaires (26 mois au total par version).

Cette rubrique présente les modifications importantes à prendre en compte pour chaque version de Kubernetes bénéficiant d'un support étendu. Lors de la mise à niveau, examinez attentivement les modifications apportées entre l'ancienne et la nouvelle version de votre cluster.

Kubernetes 1.29

Kubernetes 1.29 est désormais disponible sur Amazon EKS. Pour plus d'informations sur Kubernetes1.29, consultez l'annonce de sortie officielle.

Important
  • Les versions d'flowcontrol.apiserver.k8s.io/v1beta2API obsolètes de FlowSchema et ne PriorityLevelConfiguration sont plus servies dans la version Kubernetes. 1.29 Si vous avez des manifestes ou un logiciel client qui utilise le groupe d'API bêta obsolète, vous devez les modifier avant de passer à la version. 1.29

  • Le .status.kubeProxyVersion champ pour les objets de nœud est désormais obsolète, et le projet Kubernetes propose de supprimer ce champ dans une future version. Le champ obsolète n'est pas précis et a toujours été géré par kubelet - qui ne connaît pas réellement la kube-proxy version, ni même si elle kube-proxy est en cours d'exécution. Si vous avez utilisé ce champ dans un logiciel client, arrêtez. Les informations ne sont pas fiables et le champ est désormais obsolète.

  • Dans Kubernetes, 1.29 afin de réduire la surface d'attaque potentielle, la LegacyServiceAccountTokenCleanUp fonctionnalité identifie les anciens jetons secrets générés automatiquement comme non valides s'ils n'ont pas été utilisés depuis longtemps (1 an par défaut) et les supprime automatiquement si aucune tentative d'utilisation n'est effectuée pendant une longue période après avoir été marqués comme non valides (1 an supplémentaire par défaut). Pour identifier ces jetons, vous pouvez exécuter :

    kubectl get cm kube-apiserver-legacy-service-account-token-tracking -n kube-system

Pour le journal des 1.29 modifications complet de Kubernetes, consultez -1.29.md# 1280. https://github.com/kubernetes/ kubernetes/blob/master/CHANGELOG/CHANGELOG changelog-since-v

Kubernetes 1.28

Kubernetes 1.28 est désormais disponible sur Amazon EKS. Pour plus d'informations sur Kubernetes1.28, consultez l'annonce de sortie officielle.

  • Kubernetes v1.28 a étendu l'écart pris en charge entre les composants du nœud principal et du plan de contrôle d'une version mineure, de n-2 àn-3, afin que les composants du nœud (kubeletetkube-proxy) de la version secondaire prise en charge la plus ancienne puissent fonctionner avec les composants du plan de contrôle (kube-apiserver,, kube-schedulerkube-controller-manager,cloud-controller-manager) de la version mineure prise en charge la plus récente.

  • Les métriques force_delete_pods_total et force_delete_pod_errors_total du Pod GC Controller ont été améliorées pour tenir compte de toutes les suppressions de pods forcées. Une raison est ajoutée à la métrique pour indiquer si le pod est supprimé de force parce qu'il est fermé, orphelin, altéré ou parce qu'il s'arrête et n'est out-of-service pas planifié.

  • Le contrôleur PersistentVolume (PV) a été modifié pour attribuer automatiquement une StorageClass par défaut à toute PersistentVolumeClaim non associée dont le paramètre storageClassName n'est pas défini. En outre, le mécanisme de validation des PersistentVolumeClaim admissions au sein du serveur API a été ajusté pour permettre de changer les valeurs d'un état non défini à un StorageClass nom réel.

Pour le journal des 1.28 modifications complet de Kubernetes, consultez -1.28.md# 1270. https://github.com/kubernetes/ kubernetes/blob/master/CHANGELOG/CHANGELOG changelog-since-v

Kubernetes 1.27

Kubernetes 1.27 est désormais disponible sur Amazon EKS. Pour plus d'informations sur Kubernetes1.27, consultez l'annonce de sortie officielle.

Important
  • La prise en charge des annotations alpha seccomp.security.alpha.kubernetes.io/pod et container.seccomp.security.alpha.kubernetes.iodes annotations seccomp a été supprimée. Les annotations alpha seccomp sont devenues obsolètes en 1.19, avec leur suppression de 1.27, les champs seccomp ne seront plus remplis automatiquement pour les Pods avec les annotations seccomp. Utilisez plutôt le champ securityContext.seccompProfile réservé aux conteneurs ou Pods pour configurer les profils seccomp. Pour vous assurer que vous utilisez la base d'annotations alpha seccomp obsolètes dans votre cluster, exécutez la commande suivante :

    kubectl get pods --all-namespaces -o json | grep -E 'seccomp.security.alpha.kubernetes.io/pod|container.seccomp.security.alpha.kubernetes.io'
  • L'argument de ligne de commande --container-runtime pour kubelet a été supprimé. L'environnement d'exécution du conteneur par défaut pour Amazon EKS a été containerd défini depuis1.24, ce qui élimine le besoin de spécifier le temps d'exécution du conteneur. À partir de 1.27, Amazon EKS ignorera l'argument --container-runtime transmis à tous les scripts d'amorçage. Il est important de ne pas transmettre cet argument --kubelet-extra-args à afin d'éviter des erreurs lors du processus de démarrage du nœud. Vous devez supprimer l'argument --container-runtime de tous vos flux de travail de création de nœuds et de vos scripts de génération.

  • kubeletDans Kubernetes, la valeur par défaut 1.27 a été augmentée à et kubeAPIQPS à50. kubeAPIBurst 100 Ces améliorations permettent à kubelet de gérer un plus grand volume de requêtes d'API, améliorant ainsi les temps de réponse et les performances. Lorsque les demandes de Pods augmentent, en raison des exigences de mise à l'échelle, les valeurs par défaut révisées garantissent la capacité de kubelet à gérer efficacement l'augmentation de la charge de travail. Par conséquent, les lancements Pod sont plus rapides et les opérations de cluster sont plus efficaces.

  • Vous pouvez utiliser une topologie Pod plus fine pour diffuser des politiques telles que minDomain. Ce paramètre vous permet de spécifier le nombre minimum de domaines sur lesquels vos Pods devez être répartis. nodeAffinityPolicy et nodeTaintPolicy permettent un niveau de granularité supplémentaire dans la gestion de la distribution Pod. Ceci est conforme aux affinités des nœuds, aux rejets et au champ matchLabelKeys dans le topologySpreadConstraints de votre spécification Pod’s. Cela permet de sélectionner des Pods pour étaler les calculs après une mise à niveau progressive.

  • Kubernetes 1.27 a promu en version bêta un nouveau mécanisme de politique StatefulSets qui contrôle la durée de vie de leur PersistentVolumeClaims (). PVCs La nouvelle politique de rétention PVC vous permet de spécifier si les données PVCs générées à partir du modèle de spécification StatefulSet seront automatiquement supprimées ou retenues lors de la suppression du StatefulSet ou de la réduction des répliques dans le StatefulSet.

  • L'option goaway-chance du serveur d'API Kubernetes permet d'éviter que les connexions HTTP/2 client ne soient bloquées sur une seule instance de serveur d'API, en fermant une connexion de manière aléatoire. Lorsque la connexion est fermée, le client essaiera de se reconnecter et atterrira probablement sur un autre serveur d'API en raison de l'équilibrage de charge. La version 1.27 de Amazon EKS a activé l'indicateur goaway-chance. Si votre charge de travail exécutée sur le cluster Amazon EKS utilise un client qui n'est pas compatible avec HTTP GOAWAY, nous vous recommandons de mettre à jour la gestion de votre client en vous GOAWAY reconnectant à la fin de la connexion.

Pour le journal des 1.27 modifications complet de Kubernetes, consultez -1.27.md# 1260. https://github.com/kubernetes/ kubernetes/blob/master/CHANGELOG/CHANGELOG changelog-since-v

Kubernetes 1.26

Kubernetes 1.26 est désormais disponible sur Amazon EKS. Pour plus d'informations sur Kubernetes1.26, consultez l'annonce de sortie officielle.

Important

Kubernetes 1.26 ne prend plus en charge le CRI. v1alpha2 Cela signifie que le nœud kubelet n'est plus enregistré si le runtime du conteneur ne prend pas en charge le CRIv1. Cela signifie également que Kubernetes 1.26 ne prend pas en charge les versions mineures containerd et antérieures. 1.5 Si vous utilisez containerd, vous devez passer à la version containerd 1.6.0 ou à une version ultérieure avant de mettre à niveau les nœuds vers Kubernetes. 1.26 Vous devez également mettre à niveau tous les autres environnements d'exécution de conteneur qui ne prennent en charge que v1alpha2. Pour plus d'informations, reportez-vous au fournisseur du moteur d'exécution du conteneur. Par défaut, Amazon Linux et Bottlerocket incluent la version AMIs containerd. 1.6.6

  • Avant de procéder à la mise à niveau vers Kubernetes1.26, mettez à niveau votre plugin Amazon VPC CNI pour Kubernetes vers la version ou ultérieure. 1.12 Si vous n'effectuez pas la mise à niveau vers le plug-in Amazon VPC CNI pour Kubernetes ou une version ultérieure1.12, le plug-in Amazon VPC CNI pour Kubernetes se bloquera. Pour de plus amples informations, veuillez consulter Attribuer IPs à des pods avec l'Amazon VPC CNI.

  • L'option goaway-chance du serveur d'API Kubernetes permet d'éviter que les connexions HTTP/2 client ne soient bloquées sur une seule instance de serveur d'API, en fermant une connexion de manière aléatoire. Lorsque la connexion est fermée, le client essaiera de se reconnecter et atterrira probablement sur un autre serveur d'API en raison de l'équilibrage de charge. La version 1.26 de Amazon EKS a activé l'indicateur goaway-chance. Si votre charge de travail exécutée sur le cluster Amazon EKS utilise un client qui n'est pas compatible avec HTTP GOAWAY, nous vous recommandons de mettre à jour la gestion de votre client en vous GOAWAY reconnectant à la fin de la connexion.

Pour le journal des 1.26 modifications complet de Kubernetes, consultez -1.26.md# 1250. https://github.com/kubernetes/ kubernetes/blob/master/CHANGELOG/CHANGELOG changelog-since-v