

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

# Mettre à jour un module complémentaire Amazon EKS
<a name="updating-an-add-on"></a>

Amazon EKS ne met pas automatiquement à jour un module complémentaire lorsque de nouvelles versions sont publiées ou après la mise à jour de votre cluster vers une nouvelle version mineure de Kubernetes. Pour mettre à jour un module complémentaire pour un cluster existant, vous devez lancer la mise à jour. Ensuite, Amazon EKS met à jour le module complémentaire Amazon EKS pour vous. Avant de mettre à jour un module complémentaire, consultez la documentation relative au module complémentaire. Pour obtenir la liste des modules complémentaires disponibles, consultez [AWS modules complémentaires](workloads-add-ons-available-eks.md). Si le module complémentaire nécessite un rôle IAM, consultez les détails du module complémentaire spécifique dans [Modules complémentaires Amazon EKS disponibles AWS](workloads-add-ons-available-eks.md) pour plus d’informations sur la création du rôle.

## Conditions préalables
<a name="updating-an-add-on-prereq"></a>

Avant de créer un module complémentaire, procédez comme suit :
+ Vérifiez si votre module complémentaire nécessite un rôle IAM. Pour de plus amples informations, veuillez consulter [Modules complémentaires Amazon EKS](eks-add-ons.md).
+ Vérifiez que la version du module complémentaire Amazon EKS est compatible avec votre cluster. Pour de plus amples informations, veuillez consulter [Vérification de la compatibilité de la version du module complémentaire Amazon EKS avec un cluster](addon-compat.md).

## Procédure
<a name="updating-an-add-on-procedure"></a>

Vous pouvez mettre à jour un module complémentaire Amazon EKS à l'aide `eksctl` de l'interface de AWS Management Console ligne de commande ou de la AWS CLI.

## Mettre à jour le module complémentaire (eksctl)
<a name="_update_add_on_eksctl"></a>

1. Déterminez les modules complémentaires et les versions de modules complémentaires actuellement installés sur votre cluster. Remplacez *my-cluster* par le nom de votre cluster.

   ```
   eksctl get addon --cluster my-cluster
   ```

   L'exemple qui suit illustre un résultat.

   ```
   NAME        VERSION              STATUS  ISSUES  IAMROLE  UPDATE AVAILABLE
   coredns     v1.8.7-eksbuild.2    ACTIVE  0
   kube-proxy  v1.23.7-eksbuild.1   ACTIVE  0                v1.23.8-eksbuild.2
   vpc-cni     v1.10.4-eksbuild.1   ACTIVE  0                v1.12.0-eksbuild.1,v1.11.4-eksbuild.1,v1.11.3-eksbuild.1,v1.11.2-eksbuild.1,v1.11.0-eksbuild.1
   ```

   Votre sortie peut être différente, en fonction des modules complémentaires et des versions dont vous disposez sur votre cluster. Vous pouvez voir que dans l'exemple de sortie précédent, deux modules complémentaires existants sur le cluster disposent de versions plus récentes disponibles dans la colonne `UPDATE AVAILABLE`.

1. Mettez à jour le module complémentaire.

   1. Copiez la commande qui suit sur votre appareil. Si nécessaire, apportez les modifications suivantes à la commande :
      + Remplacez *my-cluster* par le nom de votre cluster.
      + Remplacez *region-code* par la AWS région dans laquelle se trouve votre cluster.
      + Remplacez *vpc-cni* par le nom d'un module complémentaire renvoyé dans la sortie de l'étape précédente que vous souhaitez mettre à jour.
      + Si vous souhaitez procéder à une mise à jour vers une version antérieure à la dernière version disponible, remplacez *latest* par le numéro de version renvoyé dans la sortie de l'étape précédente que vous souhaitez utiliser. Certains modules complémentaires présentent des versions recommandées. Pour plus d’informations, consultez la documentation relative au module complémentaire que vous mettez à jour. Pour obtenir la liste des modules complémentaires, consultez[AWS modules complémentaires](workloads-add-ons-available-eks.md). **\$1** Si le module complémentaire utilise un compte de service Kubernetes et un rôle IAM, remplacez-les par *111122223333* votre identifiant de compte et *role-name* par le nom d'un rôle IAM existant que vous avez créé. Pour obtenir des instructions sur la création d’un rôle, consultez la documentation du module complémentaire que vous créez. Pour obtenir la liste des modules complémentaires, consultez [AWS modules complémentaires](workloads-add-ons-available-eks.md). Pour spécifier un rôle de compte de service, 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](enable-iam-roles-for-service-accounts.md).

        Si le module complémentaire n’utilise pas de compte de service Kubernetes ni de rôle IAM, supprimez la ligne `serviceAccountRoleARN: arn:aws: iam::111122223333:role/role-name `.
      + L’option *preserve* conserve les valeurs existantes pour le module complémentaire. Si vous avez défini des valeurs personnalisées pour les paramètres du module complémentaire 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.

        ```
        cat >update-addon.yaml <<EOF
        apiVersion: eksctl.io/v1alpha5
        kind: ClusterConfig
        metadata:
          name: my-cluster
          region: region-code
        
        addons:
        - name: vpc-cni
          version: latest
          serviceAccountRoleARN: arn:aws: iam::111122223333:role/role-name
          resolveConflicts: preserve
        EOF
        ```

   1. Exécutez la commande modifiée pour créer le fichier `update-addon.yaml`.

   1. Appliquez le fichier de configuration à votre cluster.

      ```
      eksctl update addon -f update-addon.yaml
      ```

   Pour plus d’informations sur la mise à jour des modules complémentaires, consultez [Mise à jour des modules complémentaires](https://eksctl.io/usage/addons/#updating-addons) dans la documentation `eksctl`.

## Mettre à jour le module complémentaire (AWS console)
<a name="update_add_on_shared_aws_console"></a>

1. Ouvrez la [console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Dans le volet de navigation de gauche, choisissez **Clusters**.

1. Sélectionnez le nom du cluster que vous voulez mettre à jour le module complémentaire.

1. Choisissez l’onglet **Modules complémentaires**.

1. Sélectionnez le module complémentaire que vous voulez mettre à jour.

1. Choisissez **Modifier**.

1. Sur la *name of addon* page **Configurer**, procédez comme suit :

   1. Sélectionnez la **Version** que vous voulez utiliser. Le module complémentaire peut présenter une version recommandée. Pour plus d’informations, consultez la documentation relative au module complémentaire que vous mettez à jour. Pour obtenir la liste des modules complémentaires, consultez [AWS modules complémentaires](workloads-add-ons-available-eks.md).

   1. Vous disposez de deux options pour configurer les rôles des modules complémentaires : le rôle IAM EKS Pod Identities et les rôles IAM pour les comptes de service (IRSA). Suivez l’étape appropriée ci-dessous pour l’option que vous préférez. Si tous les modules complémentaires que vous avez sélectionnés ont la mention **Nécessite un abonnement** sous **Statut**, sélectionnez **Suivant**. Pour les modules complémentaires qui n’ont pas la mention **Abonnement requis** sous **Statut**, procédez comme suit :

      1. Pour le **rôle IAM d’identité du pod pour le compte de service**, vous pouvez soit utiliser un rôle IAM d’identité du pod EKS existant, soit en créer un à l’aide du bouton **Créer un rôle recommandé**. Ce champ ne proposera que les options correspondant à la politique de confiance appropriée. Si aucun rôle n’est sélectionnable, cela signifie qu’aucun rôle existant ne correspond à la politique de confiance. Pour configurer un rôle IAM d’identité du pod EKS pour les comptes de service du module complémentaire sélectionné, choisissez **Créer un rôle recommandé**. L’assistant de création de rôle s’ouvre dans une fenêtre séparée. L’assistant remplira automatiquement les informations relatives au rôle comme suit. Pour chaque module complémentaire pour lequel vous souhaitez créer le rôle IAM d’identité du pod EKS, suivez les étapes de l’assistant IAM comme suit.
         + À l'étape **Sélectionner une entité de confiance**, l'option de AWS service pour **EKS** et le cas d'utilisation pour **EKS - Pod Identity** sont présélectionnés, et la politique de confiance appropriée sera automatiquement renseignée pour le module complémentaire. Par exemple, le rôle sera créé avec la politique de confiance appropriée contenant le principal IAM pods.eks.amazonaws.com, comme détaillé dans [Avantages des identités du pod EKS](pod-identities.md#pod-id-benefits). Choisissez **Suivant**.
         + À l’étape **Ajouter des autorisations**, la stratégie gérée appropriée pour la stratégie de rôle est présélectionnée pour le module complémentaire. Par exemple, pour le module complémentaire Amazon VPC CNI, le rôle sera créé avec la politique gérée `AmazonEKS_CNI_Policy` telle que détaillée dans [Plug-in CNI Amazon VPC pour Kubernetes](workloads-add-ons-available-eks.md#add-ons-vpc-cni). Choisissez **Suivant**.
         + À l’étape **Nom, révision et création**, dans **Nom du rôle**, le nom de rôle par défaut est automatiquement renseigné pour le module complémentaire. **Par exemple, pour le module complémentaire **Amazon VPC CNI**, le rôle sera créé sous le nom Amazon. EKSPod IdentityAmazon VPCCNIRole** Dans **Description**, la description par défaut est automatiquement remplie avec la description appropriée pour le module complémentaire. Par exemple, pour le module complémentaire Amazon VPC CNI, le rôle sera créé avec la description **Autorise les pods exécutés dans le cluster Amazon EKS à accéder aux ressources**. AWS Dans la **stratégie de confiance**, affichez la stratégie de confiance renseignée pour le module complémentaire. Choisissez **Créer un rôle**.
**Note**  
En conservant le nom de rôle par défaut, EKS peut présélectionner le rôle pour les modules complémentaires dans les nouveaux clusters ou lors de l’ajout de modules complémentaires à des clusters existants. Vous pouvez toujours remplacer ce nom et le rôle sera disponible pour le module complémentaire dans tous vos clusters, mais il devra être sélectionné manuellement dans le menu déroulant.

      1. Pour les modules complémentaires qui ne comportent pas la mention **Abonnement requis** sous **Statut** et pour lesquels vous souhaitez configurer des rôles à l’aide d’IRSA, consultez la documentation relative au module complémentaire que vous créez afin de créer une politique IAM et de l’associer à un rôle. Pour obtenir la liste des modules complémentaires, consultez [AWS modules complémentaires](workloads-add-ons-available-eks.md). Pour sélectionner un rôle IAM, 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](enable-iam-roles-for-service-accounts.md).

   1. Sélectionnez **Paramètres de configuration facultatifs**.

   1. Dans **Valeurs de configuration**, saisissez toutes les informations de configuration spécifiques au module complémentaire. Pour plus d’informations, consultez la documentation relative au module complémentaire que vous mettez à jour. Pour obtenir la liste des modules complémentaires, consultez [AWS modules complémentaires](workloads-add-ons-available-eks.md)…​ Pour **Méthode de résolution des conflits**, sélectionnez l’une des options. Si vous avez défini des valeurs personnalisées pour les paramètres des modules complémentaires, nous vous recommandons l'option **Preserve** (Conserver). Si vous ne sélectionnez 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 modifiez cette valeur pour la remplacer, 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 modifiez cette valeur pour « none », Amazon EKS ne modifie la valeur d’aucun paramètre, mais la mise à jour peut échouer. Si la mise à jour échoue, vous recevez un message d'erreur pour vous aider à résoudre le conflit.

1. Sélectionnez **Enregistrer les modifications**.

## Module complémentaire de mise à jour (AWS CLI)
<a name="update_add_on_shared_aws_cli"></a>

1. Vous avez besoin d'`2.12.3`une version ou d'une version ultérieure `1.27.160` ou d'une version ultérieure de l'interface de ligne de AWS commande (AWS CLI) installée et configurée sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez `aws --version | cut -d / -f2 | cut -d ' ' -f1`. Les gestionnaires de packages tels que `yum` Homebrew pour macOS ont souvent plusieurs versions de retard sur la dernière version de la AWS CLI. `apt-get` Pour installer la dernière version, consultez la section [Installation](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) et [configuration rapide avec aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) dans le *Guide de l'utilisateur de l'interface de ligne de AWS commande*. La version de la AWS CLI installée AWS CloudShell peut également avoir plusieurs versions de retard par rapport à la dernière version. Pour le mettre à jour, consultez la section [Installation de la AWS CLI dans votre répertoire](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) de base dans le *guide de AWS CloudShell l'utilisateur*.

1. Consultez la liste des modules complémentaires installés. Remplacez *my-cluster* par le nom de votre cluster.

   ```
   aws eks list-addons --cluster-name my-cluster
   ```

   L'exemple qui suit illustre un résultat.

   ```
   {
       "addons": [
           "coredns",
           "kube-proxy",
           "vpc-cni"
       ]
   }
   ```

1. Affichez la version actuelle du module complémentaire que vous souhaitez mettre à jour. Remplacez *my-cluster* par le nom de votre cluster et *vpc-cni* par le nom du module complémentaire que vous souhaitez mettre à jour.

   ```
   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.10.4-eksbuild.1
   ```

1. Déterminez quelles versions du module complémentaire sont disponibles pour la version de votre cluster. *1.35*Remplacez-le par la version de votre cluster et *vpc-cni* par le nom du module complémentaire que vous souhaitez mettre à jour.

   ```
   aws eks describe-addon-versions --kubernetes-version 1.35 --addon-name vpc-cni \
       --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table
   ```

   L'exemple qui suit illustre un résultat.

   ```
   ------------------------------------------
   |          DescribeAddonVersions         |
   +-----------------+----------------------+
   | Defaultversion  |       Version        |
   +-----------------+----------------------+
   |  False          |  v1.12.0-eksbuild.1  |
   |  True           |  v1.11.4-eksbuild.1  |
   |  False          |  v1.10.4-eksbuild.1  |
   |  False          |  v1.9.3-eksbuild.1   |
   +-----------------+----------------------+
   ```

   La version avec `True` dans la colonne `Defaultversion` correspond à la version avec laquelle le module complémentaire est créé, par défaut.

1. Mettez à jour votre module complémentaire. Copiez la commande qui suit sur votre appareil. Si nécessaire, apportez les modifications suivantes à la commande, puis exécutez la commande modifiée. Pour plus d’informations sur cette commande, consultez [update-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/update-addon.html) dans la référence des commandes en ligne Amazon EKS.
   + Remplacez *my-cluster* par le nom de votre cluster.
   + Remplacez *vpc-cni* par le nom du module complémentaire que vous souhaitez mettre à jour renvoyé dans la sortie d'une étape précédente.
   + Remplacez *version-number* par la version renvoyée dans la sortie de l'étape précédente vers laquelle vous souhaitez effectuer la mise à jour. Certains modules complémentaires présentent des versions recommandées. Pour plus d’informations, consultez la documentation relative au module complémentaire que vous mettez à jour. Pour obtenir la liste des modules complémentaires, consultez[AWS modules complémentaires](workloads-add-ons-available-eks.md). **\$1** Si le module complémentaire utilise un compte de service Kubernetes et un rôle IAM, remplacez-les par *111122223333* votre identifiant de compte et *role-name* par le nom d'un rôle IAM existant que vous avez créé. Pour obtenir des instructions sur la création d’un rôle, consultez la documentation du module complémentaire que vous créez. Pour obtenir la liste des modules complémentaires, consultez [AWS modules complémentaires](workloads-add-ons-available-eks.md). Pour spécifier un rôle de compte de service, 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](enable-iam-roles-for-service-accounts.md).

     Si le module complémentaire n’utilise pas de compte de service Kubernetes ni de rôle IAM, supprimez la ligne `serviceAccountRoleARN: arn:aws: iam::111122223333:role/role-name `.
   + L’option `--resolve-conflicts PRESERVE` conserve les valeurs existantes pour le module complémentaire. Si vous avez défini des valeurs personnalisées pour les paramètres du module complémentaire 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 voulez supprimer toutes les configurations personnalisées, effectuez la mise à jour à l'aide de l'option *--configuration-values '\$1\$1'*. Cela ramène toutes les configurations personnalisées aux valeurs par défaut. Si vous ne souhaitez pas modifier votre configuration personnalisée, ne fournissez pas le *--configuration-values* drapeau. Si vous voulez ajuster une configuration personnalisée, remplacez *\$1\$1* par les nouveaux paramètres.

     ```
     aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \
         --service-account-role-arn arn:aws: iam::111122223333:role/role-name --configuration-values '{}' --resolve-conflicts PRESERVE
     ```

1. Vérifiez l'état de la mise à jour. *my-cluster*Remplacez-le par le nom de votre cluster et *vpc-cni* par le nom du module complémentaire que vous mettez à jour.

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

   L'exemple qui suit illustre un résultat.

   ```
   {
       "addon": {
           "addonName": "vpc-cni",
           "clusterName": "my-cluster",
           "status": "UPDATING",
       }
   }
   ```

   Lorsque la mise à jour est terminé, l'état indique `ACTIVE`.