

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

# Déploiement d’un cluster Amazon EKS `IPv6` et de nœuds Amazon Linux gérés
<a name="deploy-ipv6-cluster"></a>

Dans ce ditacticiel, vous déployez un Amazon VPC `IPv6`, un cluster Amazon EKS avec la famille `IPv6` et un groupe de nœuds gérés avec des nœuds Amazon EC2 Amazon Linux. Vous ne pouvez pas déployer des nœuds Amazon EC2 Windows dans un cluster `IPv6`. Vous pouvez également déployer des nœuds Fargate dans votre cluster, mais ces instructions ne sont pas fournies dans cette rubrique pour des raisons de simplicité.

## Conditions préalables
<a name="_prerequisites"></a>

Avant de commencer le tutoriel, veuillez effectuer les opérations suivantes :

Installez et configurez les outils et ressources suivants dont vous aurez besoin pour créer et gérer un cluster Amazon EKS.
+ Nous vous recommandons de vous familiariser avec tous les paramètres et de déployer un cluster avec les paramètres qui répondent à vos besoins. Pour plus d’informations, consultez [Création d’un cluster Amazon EKS](create-cluster.md), [Simplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés](managed-node-groups.md), et les [considérations](cni-ipv6.md) relatives à ce sujet. Vous ne pouvez activer certains paramètres que lors de la création de votre cluster.
+ L'outil de ligne de commande `kubectl` est installé sur votre appareil ou AWS CloudShell. La version peut correspondre à celle utilisée par votre cluster Kubernetes, ou différer d’au plus une version mineure, qu’elle soit antérieure ou plus récente. Par exemple, si la version de votre cluster est `1.29`, vous pouvez utiliser la version `kubectl` `1.28`, `1.29` ou `1.30`. Pour installer ou mettre à niveau `kubectl`, veuillez consulter [Configuration de `kubectl` et `eksctl`](install-kubectl.md).
+ Le principal de sécurité IAM que vous utilisez doit être autorisé à utiliser les rôles IAM Amazon EKS, les rôles liés à un service AWS CloudFormation, un VPC et les ressources associées. Pour plus d’informations, consultez les sections [Actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html) et [Utilisation des rôles liés aux services](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) dans le Guide de l’utilisateur IAM.
+ Si vous utilisez eksctl, installez la version `0.215.0` ou une version ultérieure sur votre ordinateur. Pour l'installer ou le mettre à jour, veuillez consulter [Installation](https://eksctl.io/installation) dans la documentation de `eksctl`.
+ Version `2.12.3` ou version ultérieure `1.27.160` ou 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``apt-get`, ou Homebrew pour macOS ont souvent plusieurs versions de retard sur la dernière version de la AWS CLI. 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*. Si vous utilisez le AWS CloudShell, vous devrez peut-être [installer la version 2.12.3 ou ultérieure ou 1.27.160 ou ultérieure de la CLI, car la version de la AWSAWS CLI](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) par défaut installée dans le AWS CloudShell peut être une version antérieure.

Vous pouvez utiliser eksctl ou CLI pour déployer un cluster `IPv6`.

## Déployer un IPv6 cluster avec eksctl
<a name="_deploy_an_ipv6_cluster_with_eksctl"></a>

1. Créez le fichier `ipv6-cluster.yaml`. 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 un nom pour votre cluster. Un nom ne peut contenir que des caractères alphanumériques (sensibles à la casse) et des traits d'union. Il doit commencer par un caractère alphanumérique et ne peut pas dépasser 100 caractères. Le nom doit être unique dans la AWS région et le AWS compte dans lesquels vous créez le cluster.
   + Remplacez *region-code* par n'importe quelle AWS région prise en charge par Amazon EKS. Pour obtenir la liste des AWS régions, consultez la section [Points de terminaison et quotas Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) dans le guide de référence AWS général.
   + La valeur de `version` correspond à la version de votre cluster. Pour plus d’informations, consultez les [versions prises en charge par Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html).
   + Remplacer *my-nodegroup* avec un nom pour votre groupe de nœuds. 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.
   + Remplacez *t3.medium* par tout [type d'instance du système AWS Nitro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).

     ```
     cat >ipv6-cluster.yaml <<EOF
     ---
     apiVersion: eksctl.io/v1alpha5
     kind: ClusterConfig
     
     metadata:
       name: my-cluster
       region: region-code
       version: "X.XX"
     
     kubernetesNetworkConfig:
       ipFamily: IPv6
     
     addons:
       - name: vpc-cni
         version: latest
       - name: coredns
         version: latest
       - name: kube-proxy
         version: latest
     
     iam:
       withOIDC: true
     
     managedNodeGroups:
       - name: my-nodegroup
         instanceType: t3.medium
     EOF
     ```

1. Créer votre cluster.

   ```
   eksctl create cluster -f ipv6-cluster.yaml
   ```

   La création du cluster prend plusieurs minutes. Ne continuez pas avant d’avoir vu la dernière ligne de sortie, qui ressemble à la sortie suivante.

   ```
   [...]
   [✓]  EKS cluster "my-cluster" in "region-code" region is ready
   ```

1. Vérifiez que les pods par défaut se voient attribuer des adresses `IPv6`.

   ```
   kubectl get pods -n kube-system -o wide
   ```

   L'exemple qui suit illustre un résultat.

   ```
   NAME                       READY   STATUS    RESTARTS   AGE     IP                                       NODE                                            NOMINATED NODE   READINESS GATES
   aws-node-rslts             1/1     Running   1          5m36s   2600:1f13:b66:8200:11a5:ade0:c590:6ac8   ip-192-168-34-75.region-code.compute.internal   <none>           <none>
   aws-node-t74jh             1/1     Running   0          5m32s   2600:1f13:b66:8203:4516:2080:8ced:1ca9   ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   coredns-85d5b4454c-cw7w2   1/1     Running   0          56m     2600:1f13:b66:8203:34e5::                ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   coredns-85d5b4454c-tx6n8   1/1     Running   0          56m     2600:1f13:b66:8203:34e5::1               ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   kube-proxy-btpbk           1/1     Running   0          5m36s   2600:1f13:b66:8200:11a5:ade0:c590:6ac8   ip-192-168-34-75.region-code.compute.internal   <none>           <none>
   kube-proxy-jjk2g           1/1     Running   0          5m33s   2600:1f13:b66:8203:4516:2080:8ced:1ca9   ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   ```

1. Vérifiez que les adresses `IPv6` sont attribuées aux services par défaut.

   ```
   kubectl get services -n kube-system -o wide
   ```

   L'exemple qui suit illustre un résultat.

   ```
   NAME       TYPE        CLUSTER-IP          EXTERNAL-IP   PORT(S)         AGE   SELECTOR
   kube-dns   ClusterIP   fd30:3087:b6c2::a   <none>        53/UDP,53/TCP   57m   k8s-app=kube-dns
   ```

1. (Facultatif) [Déployez un exemple d’application](sample-deployment.md) ou déployez le [Contrôleur d’équilibreur de charge AWS](aws-load-balancer-controller.md) et un exemple d’application pour équilibrer la charge des applications HTTP avec [Routage du trafic des applications et du trafic HTTP avec des équilibreurs de charge Application Load Balancer](alb-ingress.md) ou le trafic réseau vers les pods [Acheminer le trafic TCP et UDP avec des Network Load Balancers](network-load-balancing.md) ou `IPv6`.

1. Une fois que vous avez terminé avec le cluster et les nœuds que vous avez créés pour ce tutoriel, vous devez nettoyer les ressources que vous avez créées avec la commande suivante.

   ```
   eksctl delete cluster my-cluster
   ```

## Déployer un IPv6 cluster à l'aide de la AWS CLI
<a name="deploy_an_ipv6_cluster_with_shared_aws_cli"></a>

**Important**  
Vous devez effectuer toutes les étapes de cette procédure avec le même utilisateur. Exécutez la commande suivante pour vérifier l'utilisateur actuel :  

  ```
  aws sts get-caller-identity
  ```
Vous devez effectuer toutes les étapes de cette procédure dans le même shell. Plusieurs étapes utilisent des variables définies dans les étapes précédentes. Les étapes qui utilisent des variables ne fonctionneront pas correctement si les valeurs de ces variables sont définies dans un autre shell. Si vous utilisez le [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)pour effectuer la procédure suivante, n'oubliez pas que si vous n'interagissez pas avec le clavier ou le pointeur pendant environ 20 à 30 minutes, votre session shell se termine. Les processus en cours d'exécution ne sont pas considérés comme des interactions.
Les instructions sont écrites pour le shell Bash et peuvent nécessiter des ajustements dans d'autres shells.

Remplacez toutes les valeurs d'exemple dans les étapes de cette procédure par vos propres valeurs.

1. Exécutez les commandes suivantes pour définir certaines variables utilisées dans les étapes suivantes. Remplacez *region-code* par la AWS région dans laquelle vous souhaitez déployer vos ressources. La valeur peut être n'importe quelle AWS région prise en charge par Amazon EKS. Pour obtenir la liste des AWS régions, consultez la section [Points de terminaison et quotas Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) dans le guide de référence AWS général. Remplacez *my-cluster* par un nom pour votre cluster. Un nom ne peut contenir que des caractères alphanumériques (sensibles à la casse) et des traits d'union. Il doit commencer par un caractère alphanumérique et ne peut pas dépasser 100 caractères. Le nom doit être unique dans la AWS région et le AWS compte dans lesquels vous créez le cluster. Remplacer *my-nodegroup* avec un nom pour votre groupe de nœuds. 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. Remplacez *111122223333* par votre ID de compte.

   ```
   export region_code=region-code
   export cluster_name=my-cluster
   export nodegroup_name=my-nodegroup
   export account_id=111122223333
   ```

1. Créez un Amazon VPC avec des sous-réseaux publics et privés qui répondent aux exigences Amazon EKS et `IPv6`.

   1. Exécutez la commande suivante pour définir une variable pour le nom de votre AWS CloudFormation pile. Vous pouvez remplacer *my-eks-ipv6-vpc* par n'importe quel nom que vous choisissez.

      ```
      export vpc_stack_name=my-eks-ipv6-vpc
      ```

   1. Créez un `IPv6` VPC à l'aide d'un AWS CloudFormation modèle.

      ```
      aws cloudformation create-stack --region $region_code --stack-name $vpc_stack_name \
        --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-ipv6-vpc-public-private-subnets.yaml
      ```

      La création de la pile prend quelques minutes. Exécutez la commande suivante. Ne passez pas à l’étape suivante tant que le résultat de la commande n’est pas `CREATE_COMPLETE`.

      ```
      aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name --query Stacks[].StackStatus --output text
      ```

   1. Récupérez IDs les sous-réseaux publics qui ont été créés.

      ```
      aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \
          --query='Stacks[].Outputs[?OutputKey==`SubnetsPublic`].OutputValue' --output text
      ```

      L'exemple qui suit illustre un résultat.

      ```
      subnet-0a1a56c486EXAMPLE,subnet-099e6ca77aEXAMPLE
      ```

   1. Activez l'option d'attribution automatique d'adresses `IPv6` pour les sous-réseaux publics qui ont été créés.

      ```
      aws ec2 modify-subnet-attribute --region $region_code --subnet-id subnet-0a1a56c486EXAMPLE --assign-ipv6-address-on-creation
      aws ec2 modify-subnet-attribute --region $region_code --subnet-id subnet-099e6ca77aEXAMPLE --assign-ipv6-address-on-creation
      ```

   1. Récupérez les noms des sous-réseaux et des groupes de sécurité créés par le modèle à partir de la AWS CloudFormation pile déployée et stockez-les dans des variables pour une utilisation ultérieure.

      ```
      security_groups=$(aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \
          --query='Stacks[].Outputs[?OutputKey==`SecurityGroups`].OutputValue' --output text)
      
      public_subnets=$(aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \
          --query='Stacks[].Outputs[?OutputKey==`SubnetsPublic`].OutputValue' --output text)
      
      private_subnets=$(aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \
          --query='Stacks[].Outputs[?OutputKey==`SubnetsPrivate`].OutputValue' --output text)
      
      subnets=${public_subnets},${private_subnets}
      ```

1. Créez un rôle IAM de cluster et attachez-y la politique gérée par Amazon EKS IAM requise. Les clusters Kubernetes gérés par Amazon EKS appellent d'autres AWS services en votre nom afin de gérer les ressources que vous utilisez avec le service.

   1. Exécutez la commande suivante pour créer un fichier `eks-cluster-role-trust-policy.json` :

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "eks.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

   1. Exécutez la commande suivante pour définir une variable pour votre nom de rôle. Vous pouvez remplacer *myAmazonEKSClusterRole* par n'importe quel nom que vous choisissez.

      ```
      export cluster_role_name=myAmazonEKSClusterRole
      ```

   1. Créez le rôle.

      ```
      aws iam create-role --role-name $cluster_role_name --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
      ```

   1. Récupérez l'ARN du rôle IAM et le stockez dans une variable pour une étape ultérieure.

      ```
      CLUSTER_IAM_ROLE=$(aws iam get-role --role-name $cluster_role_name --query="Role.Arn" --output text)
      ```

   1. Attachez la politique IAM gérée par Amazon EKS au rôle.

      ```
      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy --role-name $cluster_role_name
      ```

1. Créer votre cluster.

   ```
   aws eks create-cluster --region $region_code --name $cluster_name --kubernetes-version 1.XX \
      --role-arn $CLUSTER_IAM_ROLE --resources-vpc-config subnetIds=$subnets,securityGroupIds=$security_groups \
      --kubernetes-network-config ipFamily=ipv6
   ```

   1. REMARQUE : il est possible que vous receviez un message d’erreur indiquant que l’une des zones de disponibilité de votre demande ne dispose pas d’une capacité suffisante pour créer un cluster Amazon EKS. Si cela se produit, la sortie de l'erreur contient les zones de disponibilité qui peuvent prendre en charge un nouveau cluster. Essayez à nouveau de créer votre cluster avec au moins deux sous-réseaux situés dans les zones de disponibilité prises en charge pour votre compte. Pour de plus amples informations, veuillez consulter [Capacité insuffisante](troubleshooting.md#ice).

      La création du cluster prend quelques minutes. Exécutez la commande suivante. Ne passez pas à l’étape suivante tant que la sortie de la commande n’est pas `ACTIVE`.

      ```
      aws eks describe-cluster --region $region_code --name $cluster_name --query cluster.status
      ```

1. Créez ou mettez à jour un fichier `kubeconfig` pour votre cluster afin de pouvoir communiquer avec votre cluster.

   ```
   aws eks update-kubeconfig --region $region_code --name $cluster_name
   ```

   Par défaut, le fichier `config` est créé dans `~/.kube` ou la configuration du nouveau cluster est ajoutée à un fichier `config` existant dans `~/.kube`.

1. Créez un rôle IAM de nœud.

   1. Exécutez la commande suivante pour créer un fichier `vpc-cni-ipv6-policy.json` :

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ec2:AssignIpv6Addresses",
                      "ec2:DescribeInstances",
                      "ec2:DescribeTags",
                      "ec2:DescribeNetworkInterfaces",
                      "ec2:DescribeInstanceTypes"
                  ],
                  "Resource": "*"
              },
              {
                  "Effect": "Allow",
                  "Action": [
                      "ec2:CreateTags"
                  ],
                  "Resource": [
                      "arn:aws:ec2:*:*:network-interface/*"
                  ]
              }
          ]
      }
      ```

   1. Créez la politique IAM.

      ```
      aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
      ```

   1. Exécutez la commande suivante pour créer un fichier `node-role-trust-relationship.json` :

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

   1. Exécutez la commande suivante pour définir une variable pour votre nom de rôle. Vous pouvez remplacer *AmazonEKSNodeRole* par n'importe quel nom que vous choisissez.

      ```
      export node_role_name=AmazonEKSNodeRole
      ```

   1. Créez le rôle IAM.

      ```
      aws iam create-role --role-name $node_role_name --assume-role-policy-document file://"node-role-trust-relationship.json"
      ```

   1. Attachez la politique IAM au rôle IAM.

      ```
      aws iam attach-role-policy --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy \
          --role-name $node_role_name
      ```
**Important**  
Pour simplifier ce tutoriel, la politique est attachée à ce rôle IAM. Toutefois, dans un cluster de production, nous recommandons de rattacher la politique à un rôle IAM distinct. Pour de plus amples informations, veuillez consulter [Configuration du plug-in Amazon VPC CNI pour utiliser IRSA](cni-iam-role.md).

   1. Attachez deux politiques gérées IAM requises au rôle IAM.

      ```
      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \
        --role-name $node_role_name
      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \
        --role-name $node_role_name
      ```

   1. Récupérez l'ARN du rôle IAM et le stockez dans une variable pour une étape ultérieure.

      ```
      node_iam_role=$(aws iam get-role --role-name $node_role_name --query="Role.Arn" --output text)
      ```

1. Créez un groupe de nœuds gérés.

   1. Affichez les IDs sous-réseaux que vous avez créés à l'étape précédente.

      ```
      echo $subnets
      ```

      L'exemple qui suit illustre un résultat.

      ```
      subnet-0a1a56c486EXAMPLE,subnet-099e6ca77aEXAMPLE,subnet-0377963d69EXAMPLE,subnet-0c05f819d5EXAMPLE
      ```

   1. Créez le groupe de nœuds. Remplacez *0a1a56c486EXAMPLE*, *099e6ca77aEXAMPLE*, *0377963d69EXAMPLE*, et *0c05f819d5EXAMPLE* par les valeurs renvoyées dans la sortie de l'étape précédente. Assurez-vous de supprimer les virgules entre les sous-réseaux IDs de la sortie précédente dans la commande suivante. Vous pouvez remplacer *t3.medium* par tout [type d'instance du système AWS Nitro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).

      ```
      aws eks create-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name \
          --subnets subnet-0a1a56c486EXAMPLE subnet-099e6ca77aEXAMPLE subnet-0377963d69EXAMPLE subnet-0c05f819d5EXAMPLE \
          --instance-types t3.medium --node-role $node_iam_role
      ```

      La création du groupe de nœuds prend quelques minutes. Exécutez la commande suivante. Ne passez pas à l’étape suivante tant que le résultat renvoyé n’est pas `ACTIVE`.

      ```
      aws eks describe-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name \
          --query nodegroup.status --output text
      ```

1. Vérifiez que les pods par défaut se voient attribuer des adresses `IPv6` dans la colonne `IP`.

   ```
   kubectl get pods -n kube-system -o wide
   ```

   L'exemple qui suit illustre un résultat.

   ```
   NAME                       READY   STATUS    RESTARTS   AGE     IP                                       NODE                                            NOMINATED NODE   READINESS GATES
   aws-node-rslts             1/1     Running   1          5m36s   2600:1f13:b66:8200:11a5:ade0:c590:6ac8   ip-192-168-34-75.region-code.compute.internal   <none>           <none>
   aws-node-t74jh             1/1     Running   0          5m32s   2600:1f13:b66:8203:4516:2080:8ced:1ca9   ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   coredns-85d5b4454c-cw7w2   1/1     Running   0          56m     2600:1f13:b66:8203:34e5::                ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   coredns-85d5b4454c-tx6n8   1/1     Running   0          56m     2600:1f13:b66:8203:34e5::1               ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   kube-proxy-btpbk           1/1     Running   0          5m36s   2600:1f13:b66:8200:11a5:ade0:c590:6ac8   ip-192-168-34-75.region-code.compute.internal   <none>           <none>
   kube-proxy-jjk2g           1/1     Running   0          5m33s   2600:1f13:b66:8203:4516:2080:8ced:1ca9   ip-192-168-253-70.region-code.compute.internal  <none>           <none>
   ```

1. Vérifiez que les adresses `IPv6` sont attribuées aux services par défaut dans la colonne `IP`.

   ```
   kubectl get services -n kube-system -o wide
   ```

   L'exemple qui suit illustre un résultat.

   ```
   NAME       TYPE        CLUSTER-IP          EXTERNAL-IP   PORT(S)         AGE   SELECTOR
   kube-dns   ClusterIP   fd30:3087:b6c2::a   <none>        53/UDP,53/TCP   57m   k8s-app=kube-dns
   ```

1. (Facultatif) [Déployez un exemple d’application](sample-deployment.md) ou déployez le [Contrôleur d’équilibreur de charge AWS](aws-load-balancer-controller.md) et un exemple d’application pour équilibrer la charge des applications HTTP avec [Routage du trafic des applications et du trafic HTTP avec des équilibreurs de charge Application Load Balancer](alb-ingress.md) ou le trafic réseau vers les pods [Acheminer le trafic TCP et UDP avec des Network Load Balancers](network-load-balancing.md) ou `IPv6`.

1. Une fois que vous avez terminé avec le cluster et les nœuds que vous avez créés pour ce tutoriel, vous devez nettoyer les ressources que vous avez créées avec les commandes suivantes. Assurez-vous que vous n’utilisez aucune des ressources en dehors de ce tutoriel avant de les supprimer.

   1. Si vous effectuez cette étape dans un shell différent de celui dans lequel vous avez effectué les étapes précédentes, définissez les valeurs de toutes les variables utilisées dans les étapes précédentes, en remplaçant les valeurs d’exemple par les valeurs que vous avez spécifiées lorsque vous avez effectué les étapes précédentes. Si vous effectuez cette étape dans le même shell que celui dans lequel vous avez effectué les étapes précédentes, passez à l’étape suivante.

      ```
      export region_code=region-code
      export vpc_stack_name=my-eks-ipv6-vpc
      export cluster_name=my-cluster
      export nodegroup_name=my-nodegroup
      export account_id=111122223333
      export node_role_name=AmazonEKSNodeRole
      export cluster_role_name=myAmazonEKSClusterRole
      ```

   1. Supprimez votre groupe de nœuds.

      ```
      aws eks delete-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name
      ```

      La suppression prend quelques minutes. Exécutez la commande suivante. Ne pas passer à l’étape suivante si une sortie est retournée.

      ```
      aws eks list-nodegroups --region $region_code --cluster-name $cluster_name --query nodegroups --output text
      ```

   1. Supprimez le cluster.

      ```
      aws eks delete-cluster --region $region_code --name $cluster_name
      ```

      La suppression du cluster prend quelques minutes. Avant de continuer, assurez-vous que le cluster est supprimé avec la commande suivante.

      ```
      aws eks describe-cluster --region $region_code --name $cluster_name
      ```

      Ne passez pas à l’étape suivante tant que votre résultat n’est pas similaire au résultat suivant.

      ```
      An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: my-cluster.
      ```

   1. Supprimez les ressources IAM que vous avez créées. Remplacez *AmazonEKS\$1CNI\$1IPv6\$1Policy* par le nom que vous avez choisi, si vous avez choisi un nom différent de celui utilisé dans les étapes précédentes.

      ```
      aws iam detach-role-policy --role-name $cluster_role_name --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy
      aws iam detach-role-policy --role-name $node_role_name --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy
      aws iam detach-role-policy --role-name $node_role_name --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
      aws iam detach-role-policy --role-name $node_role_name --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy
      aws iam delete-policy --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy
      aws iam delete-role --role-name $cluster_role_name
      aws iam delete-role --role-name $node_role_name
      ```

   1. Supprimez la AWS CloudFormation pile qui a créé le VPC.

      ```
      aws cloudformation delete-stack --region $region_code --stack-name $vpc_stack_name
      ```