Aidez à améliorer cette page
Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tous.
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.
Migrer dockershim
de containerd
Kubernetes ne prend plus en charge dockershim
. L'équipe Kubernetes a supprimé l'environnement d'exécution dans Kubernetes version 1.24
. Pour plus d'informations, voir Kubernetes le Kubernetesblog intitulé Moving on Dockershim From : Commitments and Next Steps
Amazon a EKS également mis fin à la prise en charge dockershim
à partir de la 1.24
sortie de la Kubernetes version. Amazon EKS AMIs qui est officiellement publié a containerd
pour seul moteur d'exécution commençant par la version1.24
. Cette rubrique couvre certains détails, mais de plus amples informations sont disponibles dans la section Tout ce que vous devez savoir sur la migration vers containerd sur Amazon
Vous pouvez utiliser un plug-in kubectl
pour identifier les charges de travail Kubernetes qui montent le volume du socket Docker. Pour plus d'informations, voir Detector for Docker Socket (DDS)1.24
utilisées Docker comme environnement d'exécution par défaut. Cependant, ces Amazon EKS AMIs disposent d'une option d'indicateur bootstrap que vous pouvez utiliser pour tester vos charges de travail sur n'importe quel cluster pris en charge. containerd
Pour de plus amples informations, veuillez consulter Testez la migration d'Amazon Linux 2 de Docker vers containerd.
Nous continuerons à publier AMIs les Kubernetes versions existantes jusqu'à la fin de leur date de support. Pour de plus amples informations, veuillez consulter Amazon EKS Kubernetes calendrier des sorties. Si vous avez besoin de plus de temps pour tester vos charges de travail sur containerd
, utilisez une version prise en charge antérieure à la version 1.24
. Toutefois, lorsque vous souhaitez passer à la version officielle d'Amazon EKS AMIs vers une version 1.24
ou une version ultérieure, assurez-vous de valider que vos charges de travail continuent de s'exécuter. containerd
Le containerd
moteur d'exécution fournit des performances et une sécurité plus fiables. containerd
est le runtime qui est normalisé sur AmazonEKS. Fargate et je l'utilise déjà uniquementBottlerocket. containerd
containerd
permet de minimiser le nombre de EKS AMI versions d'Amazon nécessaires pour remédier aux vulnérabilités et aux risques dockershim
courants (dockershim
utilise déjà containerd
en interne, vous n'aurez peut-être pas besoin d'apporter de modifications. Toutefois, dans certaines situations, des changements peuvent s'avérer nécessaires :
-
Vous devrez apporter des modifications aux applications qui montent le socket Docker. Par exemple, les images de conteneurs créées à l'aide d'un conteneur seront affectées. De nombreux outils de surveillance montent également le socket Docker. Vous devrez peut-être attendre des mises à jour ou redéployer les charges de travail pour la surveillance de l'exécution.
-
Vous devrez peut-être apporter des modifications pour les applications qui dépendent de paramètres Docker spécifiques. Par exemple, le protocole
HTTPS_PROXY
n'est plus pris en charge. Vous devez mettre à jour les applications qui utilisent ce protocole. Pour plus d'informations, consultezdockerd
dans la documentation Docker. -
Si vous utilisez l'assistant ECR d'identification Amazon pour extraire des images, vous devez passer au fournisseur d'informations d'identification d'
kubelet
image. Pour plus d'informations, consultez Configurer un fournisseur d'informations d'identification d'imagekubelet
dans la documentation Kubernetes. -
Amazon EKS
1.24
n'étant plus pris en chargeDocker, certains indicateurs précédemment pris en charge par le script EKS bootstrap d'Amazonne le sont plus. Avant de passer à Amazon EKS 1.24
ou à une version ultérieure, vous devez supprimer toute référence aux drapeaux qui ne sont désormais plus pris en charge :-
--container-runtime dockerd
(containerd
est la seule valeur prise en charge) -
--enable-docker-bridge
-
--docker-config-json
-
-
Si vous avez déjà configuré Fluentd pour Container Insights, vous devez effectuer la migration de Fluentd vers Fluent Bit avant de passer à
containerd
. Les Fluentd analyseurs sont configurés pour analyser uniquement les messages du journal au JSON format. Contrairement à celadockerd
, l'environnement d'exécution ducontainerd
conteneur contient des messages de journal qui ne sont pas au JSON format. Si vous ne migrez pas vers Fluent Bit, certains des analyseurs Fluentd's configurés généreront un grand nombre d'erreurs à l'intérieur du conteneur Fluentd. Pour plus d'informations sur la migration, voir Configurer en Fluent Bit tant que DaemonSet pour envoyer des CloudWatch journaux vers Logs. -
Si vous utilisez une option personnalisée AMI et que vous effectuez une mise à niveau vers Amazon EKS
1.24
, vous devez vous assurer que le transfert IP est activé pour vos nœuds de travail. Ce paramètre n'était pas nécessaire avec Docker mais est requis pourcontainerd
. Il est nécessaire pour résoudre les problèmes de connectivité des réseaux de Pod-à-Pod, de Pod-à-externe, ou de Pod-à-apiserver.Pour vérifier ce paramètre sur un nœud de travail, exécutez l'une des commandes suivantes :
-
sysctl net.ipv4.ip_forward
-
cat /proc/sys/net/ipv4/ip_forward
Si le résultat est
0
, exécutez l'une des commandes suivantes pour activer la variable du noyaunet.ipv4.ip_forward
:-
sysctl -w net.ipv4.ip_forward=1
-
echo 1 > /proc/sys/net/ipv4/ip_forward
Pour l'activation du paramètre sur Amazon pendant EKS AMIs l'
containerd
exécution, reportez-vous àinstall-worker.sh
la section suivanteGitHub. -
Testez la migration d'Amazon Linux 2 de Docker vers containerd
Pour Kubernetes la version1.23
, vous pouvez utiliser un indicateur bootstrap facultatif pour activer l'containerd
environnement d'exécution EKS optimisé AL2 AMIs pour Amazon. Cette fonctionnalité vous offre une voie claire pour migrer vers containerd
lors de la mise à jour vers la version 1.24
ou ultérieure. Amazon EKS a mis fin au support pour Docker commencer avec le 1.24
lancement de la Kubernetes version. Le containerd
runtime est largement adopté dans la Kubernetes communauté et est un projet progressif avec leCNCF. Vous pouvez le tester en ajoutant un groupe de nœuds à un cluster nouveau ou existant.
Vous pouvez activer l'indicateur d'amorçage en créant l'un des types de groupes de nœuds suivants.
- Autogéré
-
Créez le groupe de nœuds à l'aide des instructions contenues dans Créez des nœuds Amazon Linux autogérés. Spécifiez un paramètre EKS optimisé pour Amazon AMI et le texte suivant pour le
BootstrapArguments
paramètre.--container-runtime containerd
- Gérées
-
Si vous utilisez
eksctl
, créez un fichier nommé
avec le contenu suivant. Remplacez chaquemy-nodegroup
.yaml
par vos propres valeurs. Le nom du groupe de nœuds ne peut pas dépasser 63 caractères. Il doit commencer par une lettre ou un chiffre, mais peut également inclure des tirets et des traits de soulignement pour les autres caractères. Pour récupérer un AMI identifiant optimisé pourexample value
ami-
, voirRécupérez le système Amazon Linux recommandé AMI IDs.1234567890abcdef0
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:
my-cluster
region:region-code
version:1.23
managedNodeGroups: - name:my-nodegroup
ami: ami-1234567890abcdef0
overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.shmy-cluster
--container-runtime containerdNote
Si vous lancez de nombreux nœuds simultanément, vous pouvez également spécifier des valeurs pour le
--apiserver-endpoint
,--b64-cluster-ca
, et les arguments bootstrap d'amorçage--dns-cluster-ip
pour éviter les erreurs. Pour de plus amples informations, veuillez consulter Spécifier un AMI.Exécutez les commandes suivantes pour créer le groupe de nœuds.
eksctl create nodegroup -f
my-nodegroup
.yamlSi vous préférez utiliser un autre outil pour créer votre groupe de nœuds gérés, vous devez déployer le groupe de nœuds à l'aide d'un modèle de lancement. Dans votre modèle de lancement, spécifiez un AMIID EKS optimisé pour Amazon, puis déployez le groupe de nœuds à l'aide d'un modèle de lancement et fournissez les données utilisateur suivantes. Ces données utilisateur transmettent des arguments dans le fichier
bootstrap.sh
. Pour plus d'informations sur le fichier d'amorçage, consultez bootstrap.shsur GitHub. /etc/eks/bootstrap.sh
my-cluster
--container-runtime containerd