

 **Contribuisci a migliorare questa pagina** 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link **Modifica questa pagina** nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Implementare un cluster `IPv6` Amazon EKS e nodi Amazon Linux gestiti
<a name="deploy-ipv6-cluster"></a>

In questo tutorial, implementi un Amazon VPC `IPv6`, un cluster Amazon EKS con la famiglia `IPv6` e un gruppo di nodi gestiti con nodi Amazon Linux per Amazon EC2. Non è possibile implementare nodi Windows per Amazon EC2 in un cluster `IPv6`. È inoltre possibile implementare nodi Fargate nel cluster, sebbene tali istruzioni non siano fornite in questo argomento per semplicità.

## Prerequisiti
<a name="_prerequisites"></a>

Prima di iniziare questo tutorial, completare le seguenti operazioni:

Installare e configurare gli strumenti e le risorse elencati di seguito, che sono necessari per creare e gestire un cluster Amazon EKS.
+ Ѐ consigliabile acquisire familiarità con tutte le impostazioni e implementare un cluster con le impostazioni che soddisfano i requisiti specifici. Per ulteriori informazioni, consultare [Crea un cluster Amazon EKS.](create-cluster.md), [Semplifica il ciclo di vita dei nodi con gruppi di nodi gestiti](managed-node-groups.md) e le [considerazioni](cni-ipv6.md) per questo argomento. Alcune impostazioni possono essere abilitate solo quando viene creato il cluster.
+ Lo strumento a riga di comando `kubectl` è installato sul dispositivo o AWS CloudShell. La versione può essere uguale oppure immediatamente precedente o successiva alla versione di Kubernetes del cluster. Ad esempio, se la versione del cluster è `1.29`, puoi usare `kubectl` versione `1.28`, `1.29` o `1.30`. Per installare o aggiornare `kubectl`, consulta [Impostazione di `kubectl` e `eksctl`](install-kubectl.md):
+ Il responsabile della sicurezza IAM che stai utilizzando deve disporre delle autorizzazioni per lavorare con i ruoli IAM di Amazon EKS, i ruoli collegati ai servizi AWS CloudFormation, un VPC e le risorse correlate. Per ulteriori informazioni, consultare le pagine [Actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html) e [Using service-linked roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) nella Guida per l’utente di IAM.
+ Se si utilizza eksctl, installare la versione `0.215.0` o successiva sul computer. Per installarlo o aggiornarlo, consulta la sezione [Installation](https://eksctl.io/installation) nella documentazione di `eksctl`.
+ Versione `2.12.3` o successiva o versione `1.27.160` o successiva dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo o. AWS CloudShell Per verificare la versione attuale, usa `aws --version | cut -d / -f2 | cut -d ' ' -f1`. I gestori di pacchetti come `yum``apt-get`, o Homebrew per macOS sono spesso diverse versioni dell'ultima versione della CLI AWS . Per installare la versione più recente, consulta [Installazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) e [configurazione rapida con aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) nella Guida per l'utente dell'*interfaccia a riga di AWS comando*. La versione AWS CLI installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarlo, consulta [Installazione della AWS CLI nella tua home directory nella Guida per](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) l'* AWS CloudShell utente*. Se si utilizza la AWS CloudShell, potrebbe essere necessario [installare la versione 2.12.3 o successiva o 1.27.160 o successiva della CLI AWS , poiché la versione CLI](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) predefinita installata in potrebbe essere una versione precedente. AWS AWS CloudShell 

È possibile utilizzare eksctl o la CLI per implementare un cluster `IPv6`.

## Distribuisci un cluster con eksctl IPv6
<a name="_deploy_an_ipv6_cluster_with_eksctl"></a>

1. Crea il file `ipv6-cluster.yaml`. Copia il comando seguente sul tuo dispositivo. Apportare le seguenti modifiche al comando, se necessario, quindi esegui il comando modificato:
   + Sostituisci *my-cluster* con un nome da assegnare al cluster. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può avere una lunghezza superiore a 100 caratteri. Il nome deve essere univoco all'interno della AWS regione e AWS dell'account in cui stai creando il cluster.
   + Sostituisci *region-code* con qualsiasi AWS regione supportata da Amazon EKS. Per un elenco di AWS regioni, consulta gli [endpoint e le quote di Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) nella guida di riferimento AWS generale.
   + Il valore per `version` con la versione del tuo cluster. Per ulteriori informazioni, consultare la pagina [Amazon EKS supported versions](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html).
   + Sostituisci *my-nodegroup* con un nome per il gruppo di nodi. Il nome del gruppo di nodi non può contenere più di 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura.
   + Sostituisci *t3.medium* con qualsiasi [tipo di istanza di AWS Nitro System](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. Creare il cluster.

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

   La creazione di cluster richiede diversi minuti. Non procedere fino a quando non viene visualizzata l’ultima riga di output, simile alla seguente.

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

1. Confermare che ai pod predefiniti siano assegnati indirizzi `IPv6`.

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

   Di seguito viene riportato un output di esempio.

   ```
   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. Confermare che ai servizi di default siano assegnati indirizzi `IPv6`.

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

   Di seguito viene riportato un output di esempio.

   ```
   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. (Facoltativo) [Implementare un’applicazione di esempio](sample-deployment.md) o implementare [AWS Load Balancer Controller](aws-load-balancer-controller.md) e un’applicazione di esempio per eseguire il bilanciamento del carico delle applicazioni HTTP con [Instradare il traffico di applicazioni e HTTP con Application Load Balancer](alb-ingress.md) o del traffico di rete con [Esecuzione del routing del traffico TCP e UDP con Network Load Balancer](network-load-balancing.md) verso i pod `IPv6`.

1. Una volta terminato con il cluster e i nodi creati per questo tutorial, è necessario eliminare le risorse create con il seguente comando.

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

## Implementa un IPv6 cluster con CLI AWS
<a name="deploy_an_ipv6_cluster_with_shared_aws_cli"></a>

**Importante**  
È necessario che tutti i passaggi di questa guida siano completati dallo stesso utente. Esegui il comando seguente per controllare l'utente corrente:  

  ```
  aws sts get-caller-identity
  ```
È necessario completare tutti i passaggi di questa procedura nella stessa shell. Diversi passaggi utilizzano le variabili impostate nelle fasi precedenti. Le fasi che utilizzano le variabili non funzioneranno correttamente se i relativi valori sono impostati in una shell diversa. Se utilizzate il [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)per completare la procedura seguente, ricordate che se non interagite con esso utilizzando la tastiera o il puntatore per circa 20-30 minuti, la sessione di shell termina. I processi in esecuzione non sono considerati interazioni.
Le istruzioni sono scritte per la shell Bash e per altre shell potrebbero essere necessarie ulteriori regolazioni.

Sostituire tutti i valori di esempio nelle fasi di questa procedura con i propri valori.

1. Emettere i seguenti comandi per impostare alcune variabili utilizzate nelle fasi successive. Sostituiscilo *region-code* con la AWS regione in cui desideri distribuire le risorse. Il valore può essere qualsiasi AWS regione supportata da Amazon EKS. Per un elenco di AWS regioni, consulta gli [endpoint e le quote di Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) nella guida di riferimento AWS generale. Sostituisci *my-cluster* con un nome da assegnare al cluster. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può avere una lunghezza superiore a 100 caratteri. Il nome deve essere univoco all'interno della AWS regione e AWS dell'account in cui stai creando il cluster. Sostituisci *my-nodegroup* con un nome per il gruppo di nodi. Il nome del gruppo di nodi non può contenere più di 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura. Sostituisci *111122223333* con l'ID del tuo account.

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

1. Creare un Amazon VPC con sottoreti pubbliche e private che soddisfino i requisiti Amazon EKS e `IPv6`.

   1. Esegui il comando seguente per impostare una variabile per il nome AWS CloudFormation dello stack. Puoi sostituire *my-eks-ipv6-vpc* con un nome a tua scelta.

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

   1. Crea un `IPv6` VPC utilizzando un AWS CloudFormation modello.

      ```
      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 creazione dello stack richiede alcuni minuti. Eseguire il seguente comando seguente. Non passare alla fase successiva finché l’output del comando non è `CREATE_COMPLETE`.

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

   1. Recupera le IDs sottoreti pubbliche che sono state create.

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

      Di seguito viene riportato un output di esempio.

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

   1. Abilitare l'opzione di assegnazione automatica dell'indirizzo `IPv6` per le sottoreti pubbliche create.

      ```
      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. Recupera i nomi delle sottoreti e dei gruppi di sicurezza creati dal modello dallo AWS CloudFormation stack distribuito e memorizzali in variabili da utilizzare in un passaggio successivo.

      ```
      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. Crea un ruolo IAM del cluster e collegalo alla policy gestita IAM richiesta dall’AMI per Amazon EKS. I cluster Kubernetes gestiti da Amazon EKS effettuano chiamate ad altri AWS servizi per tuo conto per gestire le risorse che utilizzi con il servizio.

   1. Per creare il file `eks-cluster-role-trust-policy.json`, emetti il seguente comando:

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

   1. Eseguire questo comando per impostare una variabile per il nome del ruolo. Puoi sostituire *myAmazonEKSClusterRole* con un nome a tua scelta.

      ```
      export cluster_role_name=myAmazonEKSClusterRole
      ```

   1. Crea il ruolo.

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

   1. Recuperare l'ARN del ruolo IAM e memorizzarlo in una variabile per una fase successiva.

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

   1. Allega la policy IAM gestita da Amazon EKS richiesta al ruolo.

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

1. Creare il 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. NOTA: è possibile ricevere un messaggio di errore indicante che una delle zone di disponibilità nella richiesta non dispone di capacità sufficiente per creare un cluster Amazon EKS. In questo caso, l’output di errore contiene le zone di disponibilità in grado di supportare un nuovo cluster. Riprova a creare il cluster con almeno due sottoreti che si trovano nelle zone di disponibilità supportate per il tuo account. Per ulteriori informazioni, consulta [Capacità insufficiente](troubleshooting.md#ice).

      La creazione del cluster richiede diversi minuti. Eseguire il seguente comando seguente. Non passare alla fase successiva fino a quando l’output del comando non è `ACTIVE`.

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

1. Creare o aggiornare un file `kubeconfig` per il cluster in modo che sia possibile comunicare con il cluster.

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

   Per impostazione predefinita, il file `config` viene creato in `~/.kube` o la configurazione del nuovo cluster viene aggiunta a un file `config` esistente in `~/.kube`.

1. Creare un ruolo IAM del nodo.

   1. Per creare il file `vpc-cni-ipv6-policy.json`, emetti il seguente comando:

      ```
      {
          "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. Creare la policy IAM.

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

   1. Per creare il file `node-role-trust-relationship.json`, emetti il seguente comando:

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

   1. Eseguire questo comando per impostare una variabile per il nome del ruolo. Puoi sostituire *AmazonEKSNodeRole* con un nome a tua scelta.

      ```
      export node_role_name=AmazonEKSNodeRole
      ```

   1. Creare il ruolo IAM.

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

   1. Allegare la policy IAM al ruolo IAM.

      ```
      aws iam attach-role-policy --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy \
          --role-name $node_role_name
      ```
**Importante**  
Per semplicità, in questo tutorial la policy è allegata a questo ruolo IAM. Tuttavia, in un cluster di produzione, si consiglia di allegare la policy a un ruolo IAM separato. Per ulteriori informazioni, consulta [Configurare il plug-in CNI di Amazon VPC per l’utilizzo di IRSA](cni-iam-role.md).

   1. Allegare al ruolo IAM le due policy gestite IAM richieste.

      ```
      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. Recuperare l'ARN del ruolo IAM e memorizzarlo in una variabile per una fase successiva.

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

1. Creare un gruppo di nodi gestito.

   1. Visualizza le IDs sottoreti che hai creato in un passaggio precedente.

      ```
      echo $subnets
      ```

      Di seguito viene riportato un output di esempio.

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

   1. Creare il gruppo di nodi. Sostituisci *0a1a56c486EXAMPLE*, *099e6ca77aEXAMPLE*, *0377963d69EXAMPLE*, and *0c05f819d5EXAMPLE* con i valori restituiti nell'output della fase precedente. Assicurati di rimuovere le virgole tra le sottoreti IDs dall'output precedente nel comando seguente. Puoi sostituire *t3.medium* con qualsiasi [tipo di istanza di AWS Nitro System](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 creazione del gruppo di nodi richiede alcuni minuti. Eseguire il seguente comando seguente. Non passare alla fase successiva finché l’output restituito non è `ACTIVE`.

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

1. Confermare che ai pod predefiniti siano assegnati indirizzi `IPv6` nella colonna `IP`.

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

   Di seguito viene riportato un output di esempio.

   ```
   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. Confermare che ai servizi di default siano assegnati gli indirizzi `IPv6` nella colonna `IP`.

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

   Di seguito viene riportato un output di esempio.

   ```
   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. (Facoltativo) [Implementare un’applicazione di esempio](sample-deployment.md) o implementare [AWS Load Balancer Controller](aws-load-balancer-controller.md) e un’applicazione di esempio per eseguire il bilanciamento del carico delle applicazioni HTTP con [Instradare il traffico di applicazioni e HTTP con Application Load Balancer](alb-ingress.md) o del traffico di rete con [Esecuzione del routing del traffico TCP e UDP con Network Load Balancer](network-load-balancing.md) verso i pod `IPv6`.

1. Una volta terminato con il cluster e i nodi creati per questo tutorial, è necessario eliminare le risorse create con i seguenti comandi. Assicurarsi di non utilizzare nessuna delle risorse al di fuori di questo tutorial prima di eliminarle.

   1. Se si sta completando questo passaggio in una shell diversa da quella in cui sono state completate le fasi precedenti, impostare i valori di tutte le variabili utilizzate nelle fasi precedenti sostituendo i valori di esempio con quelli specificate durante le fasi precedenti. Se si sta completando questo passaggio nella stessa shell in cui sono state completate le fasi precedenti, andare alla fase successiva.

      ```
      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. Eliminare il gruppo di nodi.

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

      L'eliminazione richiede pochi minuti. Eseguire il seguente comando seguente. Non passare alla fase successiva se viene restituito un output.

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

   1. Elimina il cluster.

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

      L'eliminazione del cluster richiede alcuni minuti. Prima di continuare, accertarsi che il cluster sia eliminato con il comando seguente:

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

      Non procedere alla fase successiva finché l’output non è simile al seguente:

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

   1. Eliminare le risorse IAM create. Sostituisci *AmazonEKS\$1CNI\$1IPv6\$1Policy* con il nome scelto, se è stato scelto un nome diverso da quello usato nei passaggi precedenti.

      ```
      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. Elimina lo AWS CloudFormation stack che ha creato il VPC.

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