Amazon Web Services (AWS) a récemment annoncé sa prise en charge de la version 1.27 de Kubernetes, dont le nom de code est Chill Vibes. Cette prise en charge s’étend à la fois à Amazon Elastic Kubernetes Service (EKS) et à Amazon EKS Distro, introduisant une série de nouvelles fonctionnalités susceptibles de révolutionner la gestion des clusters.
Activation du profil Seccomp par défaut
Kubernetes 1.27 marque la graduation stable de seccomp et l’active par défaut. Le profil RuntimeDefault seccomp devient le profil par défaut pour toutes les charges de travail.
Vous pouvez définir le profil seccomp par défaut pour tous les conteneurs en cours d’exécution sur un nœud en utilisant l’option -kubelet-extra-args –seccomp-default dans le script d’amorçage du nœud ou le modèle de lancement.
L’activation du profil seccomp peut provoquer des pannes dans certaines charges de travail, mais il est possible de le désactiver ou de créer des profils personnalisés pour des charges de travail spécifiques. Le profil security-profiles-operator permet de définir et de gérer des profils personnalisés.
Amélioration des limites de KubeAPIQPS et KubeAPIBurst
Dans les versions précédentes, le kubelet Amazon EKS avait des limites de 10 requêtes par seconde pour kubeAPIQPS et une limite de 20 requêtes pour kubeAPIBurst.
Kubernetes 1.27 augmente ces limites à 50 et 100 requêtes par seconde, respectivement. Ces nouvelles limites, adoptées par l’AMI optimisée Amazon EKS, améliorent le temps de démarrage des pods lorsque des demandes de mise à l’échelle surviennent.
L’augmentation des limites permet au kubelet Amazon EKS de gérer les démarrages de pods plus rapidement, ce qui facilite le fonctionnement des clusters.
Dépréciations de l’API et changements dans le référentiel
Tout comme les versions précédentes de Kubernetes, la version 1.27 déprécie certaines API. L’API k8s.gcr.io est maintenant gelé, et registry.k8s.io devient le nouveau dépôt pour Kubernetes.
Il est essentiel de mettre à jour tous les manifestes et configurations pour refléter ce changement.
Accès Kubectl aux logs des nœuds
Kubectl prend désormais en charge la récupération des journaux des nœuds, ce qui facilite le diagnostic et le dépannage des problèmes liés aux kubelets. Avec le nouveau point de terminaison API dans kubelet et l’implémentation correspondante dans kubectl, vous pouvez exécuter une commande comme celle-ci :
kubectl get --raw "/api/v1/nodes/node-1.example/proxy/logs/?query=kubelet"
Changements dans l’exécution du conteneur par défaut
Depuis la version 1.24, le runtime de conteneur par défaut pour Amazon EKS est Containerd. Kubernetes 1.27 supprime l’option –container-runtime pour kubelet. Il est donc essentiel de supprimer la commande –container-runtime argument de tous les scripts de création de nœuds et de flux de travail.
Par exemple, dans Terraform – l’un des meilleurs outils d’automatisation pour Linux – si votre configuration ressemble à ceci :
node_groups = {
eks_nodes = {
desired_capacity = 2
max_capacity = 10
min_capacity = 1
instance_type = "m5.large"
k8s_labels = {
Environment = "test"
Name = "eks-worker-node"
}
additional_userdata = "echo foo bar"
bootstrap_extra_args = "--container-runtime=your-runtime"
}
}
Veillez alors à supprimer l’élément bootstrap_extra_args propriété :
node_groups = {
eks_nodes = {
desired_capacity = 2
max_capacity = 10
min_capacity = 1
instance_type = "m5.large"
k8s_labels = {
Environment = "test"
Name = "eks-worker-node"
}
additional_userdata = "echo foo bar"
}
}
De même, dans eksctl, modifiez une configuration qui ressemble à ceci :
nodeGroups:
- name: your-nodegroup-name
instanceType: m5.large
desiredCapacity: 3
minSize: 1
maxSize: 4
kubeletExtraConfig:
container-runtime: "your-runtime"
en une qui ressemble à ceci :
nodeGroups:
- name: your-nodegroup-name
instanceType: m5.large
desiredCapacity: 3
minSize: 1
maxSize: 4
Mise à jour des clusters Amazon EKS vers les versions prises en charge
Il est essentiel de mettre à jour les clusters Amazon EKS vers des versions prises en charge. La dernière version non prise en charge est la 1.22, dont la date de fin de prise en charge est le 4 juin 2023. La prochaine version, 1.23, atteindra sa date de fin de support en octobre 2023.
Embrasser Kubernetes 1.27
La version la plus récente de Kubernetes, la version 1.27, est accompagnée d’améliorations notables spécialement conçues pour accroître les capacités d’Amazon EKS et d’Amazon EKS Distro.
Ces mises à jour introduisent de nombreuses nouvelles fonctionnalités qui améliorent considérablement la fonctionnalité globale de ces plateformes. Grâce à ces avancées, vous bénéficiez d’un niveau de contrôle et de flexibilité plus élevé, ce qui vous permet de gérer et de faire évoluer vos applications sans effort.