Mettre à jour le CNI Amazon VPC (module complémentaire Amazon EKS) - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Mettre à jour le CNI Amazon VPC (module complémentaire Amazon EKS)

Mettez à jour le type Amazon EKS du module complémentaire CNI Amazon VPC pour Kubernetes. Si vous n’avez pas ajouté le type Amazon EKS du module complémentaire à votre cluster, vous pouvez l’installer en suivant les instructions fournies à l’adresse suivante : Créer le CNI Amazon VPC (module complémentaire Amazon EKS). Vous pouvez également mettre à jour l’autre type d’installation CNI VPC en suivant les instructions fournies à l’adresse suivante : Mettre à jour le CNI Amazon VPC (module complémentaire autogéré).

  1. Déterminez la version du module complémentaire actuellement installée sur votre cluster. Remplacez my-cluster par le nom de votre cluster.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text

    L'exemple qui suit illustre un résultat.

    v1.20.0-eksbuild.1

    Veuillez comparer la version avec le tableau des dernières versions disponibles à l’adresse suivante : Versions CNI d’Amazon VPC. Si la version renvoyée correspond à la version Kubernetes de votre cluster dans le tableau des dernières versions, cela signifie que vous disposez déjà de la dernière version installée sur votre cluster et que vous n’avez pas besoin de suivre le reste de cette procédure. Si vous recevez une erreur au lieu d’un numéro de version dans votre sortie, cela signifie que le type de module complémentaire Amazon EKS n’est pas installé sur votre cluster. Vous devez créer le module complémentaire avant de pouvoir le mettre à jour à l'aide de cette procédure. Pour créer le type Amazon EKS du module complémentaire CNI VPC, veuillez suivre les instructions fournies à l’adresse suivante : Créer le CNI Amazon VPC (module complémentaire Amazon EKS).

  2. Enregistrez la configuration du module complémentaire actuellement installé.

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  3. Mettez à jour votre module complémentaire à l’aide de l’AWS CLI. Si vous souhaitez utiliser la AWS Management Console ou eksctl pour mettre à jour le module complémentaire, consultez la rubrique Mettre à jour un module complémentaire Amazon EKS. Copiez la commande qui suit sur votre appareil. Si nécessaire, apportez les modifications suivantes à la commande, puis exécutez la commande modifiée.

    • Remplacez my-cluster par le nom de votre cluster.

    • Remplacez v1.20.0-eksbuild.1 par la dernière version répertoriée dans le tableau des versions pour votre version de cluster.

    • Remplacez 111122223333 par votre ID de compte et AmazonEKSVPCCNIRole par le nom d’un rôle IAM existant que vous avez créé. Pour créer un rôle IAM pour le CNI VPC, consultez Étape 1 : créer le rôle IAM du plug-in Amazon VPC CNI pour Kubernetes. Pour spécifier un rôle, vous devez disposer d’un fournisseur IAM OpenID Connect (OIDC) pour votre cluster. Pour déterminer si vous en avez un pour votre cluster ou pour en créer un, consultez Créer un fournisseur d'identité OIDC IAM pour votre cluster.

    • Cette option --resolve-conflicts PRESERVE conserve les valeurs de configuration existantes pour le module complémentaire. Si vous avez défini des valeurs personnalisées pour les paramètres des modules complémentaires et que vous n’utilisez pas cette option, Amazon EKS remplace vos valeurs par ses valeurs par défaut. Si vous utilisez cette option, nous vous recommandons de tester les modifications de champ et de valeur sur un cluster hors production avant de mettre à jour le module complémentaire sur votre cluster de production. Si vous remplacez cette valeur par OVERWRITE, tous les paramètres sont remplacés par les valeurs par défaut d'Amazon EKS. Si vous avez défini des valeurs personnalisées pour certains paramètres, il est possible qu’elles soient remplacées par les valeurs par défaut d’Amazon EKS. Si vous remplacez cette valeur par none, Amazon EKS ne modifie la valeur d’aucun paramètre, mais la mise à jour risque d’échouer. Si la mise à jour échoue, vous recevez un message d'erreur pour vous aider à résoudre le conflit.

    • Si vous ne mettez à jour aucun paramètre de configuration, supprimez --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}' de la commande. Si vous mettez à jour un paramètre de configuration, remplacez "env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} par le paramètre que vous voulez définir. Dans cet exemple, la variable d'environnement AWS_VPC_K8S_CNI_EXTERNALSNAT est définie sur true. La valeur que vous spécifiez doit être valide pour le schéma de configuration. Si vous ne connaissez pas le schéma de configuration, exécutez aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.20.0-eksbuild.1 , en remplaçant v1.20.0-eksbuild.1 par le numéro de version du module complémentaire dont vous voulez voir la configuration. Le schéma est renvoyé dans la sortie. Si vous disposez déjà d'une configuration personnalisée, que vous souhaitez la supprimer et rétablir les valeurs par défaut d'Amazon EKS pour tous les paramètres, supprimez "env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} de la commande, de sorte que le champ {} soit vide. Pour une explication de chaque paramètre, consultez les variables de configuration CNI sur GitHub.

      aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.20.1-eksbuild.3 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'

      La mise à jour peut prendre plusieurs secondes.

  4. Assurez-vous que la version du module complémentaire a été mise à jour. Remplacez my-cluster par le nom de votre cluster.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni

    La mise à jour peut prendre plusieurs secondes.

    L'exemple qui suit illustre un résultat.

    { "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.20.1-eksbuild.3", "health": { "issues": [] }, "addonArn": "arn:aws:eks:region:111122223333:addon/my-cluster/vpc-cni/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9", "createdAt": "2023-04-12T18:25:19.319000+00:00", "modifiedAt": "2023-04-12T18:40:28.683000+00:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole", "tags": {}, "configurationValues": "{\"env\":{\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":\"true\"}}" } }