

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

# Aggiornamento di un componente aggiuntivo di Amazon EKS
<a name="updating-an-add-on"></a>

Amazon EKS non aggiorna automaticamente un componente aggiuntivo quando sono rilasciate nuove versioni o dopo l’aggiornamento del cluster a una nuova versione secondaria di Kubernetes. Per aggiornare un componente aggiuntivo per un cluster esistente, devi avviare l'aggiornamento. Dopo l'avvio dell'aggiornamento, Amazon EKS aggiorna automaticamente il componente aggiuntivo. Prima di aggiornare un componente aggiuntivo, consulta la documentazione attuale del componente aggiuntivo. Per un elenco dei componenti aggiuntivi disponibili, consulta [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md). Se il componente aggiuntivo richiede un ruolo IAM, consulta i dettagli del componente aggiuntivo specifico in [Componenti aggiuntivi di Available Amazon EKS da AWS](workloads-add-ons-available-eks.md) per conoscere i dettagli sulla creazione del ruolo.

## Prerequisiti
<a name="updating-an-add-on-prereq"></a>

Completa le seguenti operazioni prima di creare un componente aggiuntivo:
+ Verifica se il tuo componente aggiuntivo richiede un ruolo IAM. Per ulteriori informazioni, consulta [Componenti aggiuntivi Amazon EKS](eks-add-ons.md).
+ Verifica che la versione del componente aggiuntivo Amazon EKS sia compatibile con il cluster. Per ulteriori informazioni, consulta [Verifica la compatibilità delle versioni aggiuntive di Amazon EKS con un cluster](addon-compat.md).

## Procedura
<a name="updating-an-add-on-procedure"></a>

Puoi aggiornare un componente aggiuntivo Amazon EKS utilizzando `eksctl` Console di gestione AWS, o la AWS CLI.

## Aggiornamento del componente aggiuntivo (eksctl)
<a name="_update_add_on_eksctl"></a>

1. Determina i componenti aggiuntivi e le versioni dei componenti aggiuntivi installati sul tuo cluster. Sostituisci *my-cluster* con il nome del cluster.

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

   Di seguito viene riportato un output di esempio:

   ```
   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
   ```

   L'output potrebbe avere un aspetto diverso in base ai componenti aggiuntivi e alle versioni presenti nel tuo cluster. Nell'output di esempio precedente, due componenti aggiuntivi esistenti nel cluster hanno versioni più recenti disponibili nella colonna `UPDATE AVAILABLE`.

1. Aggiorna il componente aggiuntivo.

   1. Copia il comando seguente sul tuo dispositivo. Apporta le seguenti modifiche al comando in base alla necessità:
      + Sostituisci *my-cluster* con il nome del cluster.
      + *region-code*Sostituiscilo con la AWS regione in cui si trova il cluster.
      + Sostituisci *vpc-cni* con il nome del componente aggiuntivo da aggiornare restituito nell'output del passaggio precedente.
      + Se desideri aggiornare una versione del componente aggiuntivo precedente all'ultima versione, sostituisci *latest* con il numero di versione che vuoi utilizzare e che è stato restituito nell'output di un passaggio precedente. Alcuni componenti aggiuntivi includono versioni consigliate. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando. Per un elenco dei componenti aggiuntivi, consulta[AWS componenti aggiuntivi](workloads-add-ons-available-eks.md). **\$1** Se il componente aggiuntivo utilizza un account di servizio Kubernetes e un ruolo IAM, sostituiscilo *111122223333* con l'ID dell'account e *role-name* con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consultare la documentazione del componente aggiuntivo da creare. Per un elenco dei componenti aggiuntivi, consultare la pagina [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md). Per specificare un ruolo per l’account di servizio è necessario disporre di un gestore OpenID Connect (OIDC) IAM per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta [Per creare un provider di identità IAM OIDC per il cluster](enable-iam-roles-for-service-accounts.md).

        Se il componente aggiuntivo non utilizza un account di servizio Kubernetes e un ruolo IAM, elimina la riga `serviceAccountRoleARN: arn:aws: iam::111122223333:role/role-name `.
      + L’opzione *preserve* mantiene i valori esistenti per il componente aggiuntivo. Se hai impostato valori personalizzati per le impostazioni del componente aggiuntivo e non utilizzi questa opzione, Amazon EKS sovrascrive i tuoi valori con quelli predefiniti. Se utilizzi questa opzione, è preferibile testare eventuali modifiche ai campi e ai valori su un cluster non di produzione prima di aggiornare il componente aggiuntivo sul cluster di produzione. Se modifichi questo valore in `overwrite`, tutte le impostazioni vengono modificate nei valori predefiniti di Amazon EKS. Se hai impostato valori personalizzati per un’impostazione qualsiasi, è possibile che siano sovrascritti con i valori predefiniti di Amazon EKS. Se modifichi questo valore in `none`, Amazon EKS non modifica il valore di alcuna impostazione, ma l’aggiornamento potrebbe non riuscire. Se l'aggiornamento non riesce, riceverai un messaggio di errore che ti aiuterà a risolvere il conflitto.

        ```
        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. Esegui il comando modificato per creare il file `update-addon.yaml`.

   1. Applica il file di configurazione al tuo cluster.

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

   Per ulteriori informazioni sull’aggiornamento dei componenti aggiuntivi, consulta[Aggiornamento dei componenti aggiuntivi](https://eksctl.io/usage/addons/#updating-addons) nella documentazione di `eksctl`.

## Componente aggiuntivo di aggiornamento (console)AWS
<a name="update_add_on_shared_aws_console"></a>

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

1. Nel pannello di navigazione a sinistra, seleziona **Cluster**.

1. Scegli il nome del cluster per cui aggiornare il componente aggiuntivo.

1. Selezionare la scheda **Componenti aggiuntivi**.

1. Scegli il componente aggiuntivo da aggiornare.

1. Scegli **Modifica**.

1. Nella *name of addon* pagina **Configura**, procedi come segue:

   1. Scegli **Versione** da utilizzare. Il componente aggiuntivo potrebbe avere una versione raccomandata. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando. Per un elenco dei componenti aggiuntivi, consulta [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md).

   1. Sono disponibili due opzioni per configurare i ruoli per i componenti aggiuntivi: il ruolo IAM di EKS Pod Identity e i ruoli IAM per gli account di servizio (IRSA). Seguire la procedura adeguata di seguito per l’opzione preferita. Se tutti i componenti aggiuntivi selezionati includono **Richiede un abbonamento** sotto **Stato**, seleziona **Avanti**. Per i componenti aggiuntivi che non includono **Richiede un abbonamento** in **Stato**, procedi secondo quanto segue:

      1. Per il **ruolo IAM di Pod Identity per l’account di servizio**, è possibile utilizzare un ruolo IAM di EKS Pod Identity esistente o crearne uno con il pulsante **Crea ruolo consigliato**. Questo campo indicherà solo le opzioni con la policy di attendibilità adeguata. Se non esiste alcun ruolo da selezionare, non si dispone di un ruolo esistente con una policy di attendibilità corrispondente. Per configurare un ruolo IAM di EKS Pod Identity per gli account di servizio del componente aggiuntivo selezionato, scegliere **Crea ruolo consigliato**. La procedura guidata per la creazione dei ruoli si apre in una finestra separata. La procedura guidata compilerà automaticamente le informazioni sul ruolo come indicato di seguito. Per ogni componente aggiuntivo in cui si desidera creare il ruolo IAM di EKS Pod Identity, completare i passaggi della procedura guidata IAM come indicato di seguito.
         + Nel passaggio **Seleziona entità affidabile**, l'opzione di AWS servizio per **EKS** e lo use case per **EKS - Pod Identity** sono preselezionati e la politica di attendibilità appropriata verrà compilata automaticamente per il componente aggiuntivo. Ad esempio, il ruolo verrà creato con la policy di attendibilità adeguata contenente il principale IAM pods.eks.amazonaws.com, come descritto nella pagina [Vantaggi delle associazioni EKS Pod Identity](pod-identities.md#pod-id-benefits). Scegli **Next (Successivo)**.
         + Al passaggio **Aggiungi autorizzazioni**, viene preselezionata la policy gestita adeguata per la policy del ruolo per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo CNI di Amazon VPC, il ruolo verrà creato con la policy gestita `AmazonEKS_CNI_Policy`, come descritto nella pagina [Plug-in della CNI di Amazon VPC per Kubernetes](workloads-add-ons-available-eks.md#add-ons-vpc-cni). Scegli **Next (Successivo)**.
         + Al passaggio **Nomina, verifica e crea,** in **Nome del ruolo**, viene inserito automaticamente il nome del ruolo predefinito per il componente aggiuntivo. **Ad esempio, per il componente aggiuntivo **Amazon VPC CNI**, il ruolo verrà creato con il nome Amazon. EKSPod IdentityAmazon VPCCNIRole** In **Descrizione**, la descrizione predefinita viene compilata automaticamente con la descrizione adeguata per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo Amazon VPC CNI, il ruolo verrà creato con la descrizione **Permette ai pod in esecuzione nel cluster Amazon EKS** di accedere alle risorse. AWS In **Policy di attendibilità**, viene visualizzata la policy di attendibilità compilata per il componente aggiuntivo. Scegli **Crea ruolo**.
**Nota**  
Mantenere il nome del ruolo predefinito consente a EKS di preselezionare il ruolo dei componenti aggiuntivi nei nuovi cluster o quando si aggiungono componenti aggiuntivi ai cluster esistenti. È comunque possibile sostituire tale nome e il ruolo sarà disponibile per il componente aggiuntivo in tutti i cluster, ma dovrà essere selezionato manualmente dal menu a discesa.

      1. Per i componenti aggiuntivi che non includono **Richiede un abbonamento** in **Stato** e per i quali si desidera configurare i ruoli utilizzando IRSA, consultare la documentazione relativa al componente aggiuntivo da creare per definire una policy IAM e collegarla a un ruolo. Per un elenco dei componenti aggiuntivi, consultare la pagina [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md). Per selezionare un ruolo IAM è necessario disporre di un gestore OpenID Connect (OIDC) IAM per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta [Per creare un provider di identità IAM OIDC per il cluster](enable-iam-roles-for-service-accounts.md).

   1. Scegliere **Impostazioni di configurazione facoltative**.

   1. In **Valori di configurazione**, inserisci qualsiasi informazione di configurazione specifica del componente aggiuntivo. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando. Per un elenco di componenti aggiuntivi, consulta [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md)... per **Metodo di risoluzione dei conflitti**, seleziona una delle opzioni disponibili. Se hai impostato valori personalizzati per le impostazioni del componente aggiuntivo, è preferibile l'opzione **Preserve** (Conserva). Se non scegli questa opzione, Amazon EKS sovrascrive i tuoi valori con quelli predefiniti. Se utilizzi questa opzione, è preferibile testare eventuali modifiche ai campi e ai valori su un cluster non di produzione prima di aggiornare il componente aggiuntivo sul cluster di produzione. Se modifichi questo valore in sovrascrivi, tutte le impostazioni sono modificate nei valori predefiniti di Amazon EKS. Se hai impostato valori personalizzati per un’impostazione qualsiasi, è possibile che siano sovrascritti con i valori predefiniti di Amazon EKS. Se modifichi questo valore in nessuno, Amazon EKS non modifica il valore di alcuna impostazione, ma l’aggiornamento potrebbe non riuscire. Se l'aggiornamento non riesce, riceverai un messaggio di errore che ti aiuterà a risolvere il conflitto.

1. Scegli **Save changes** (Salva modifiche).

## Componente aggiuntivo di aggiornamento (AWS CLI)
<a name="update_add_on_shared_aws_cli"></a>

1. È necessaria la versione `2.12.3` o una versione successiva `1.27.160` o una versione 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` Homebrew per macOS sono spesso diverse versioni dell'ultima versione della CLI AWS . `apt-get` 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*.

1. Visualizza l'elenco dei componenti aggiuntivi installati. Sostituisci *my-cluster* con il nome del cluster.

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

   Di seguito viene riportato un output di esempio:

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

1. Visualizza la versione corrente del componente aggiuntivo da aggiornare. Sostituisci *my-cluster* con il nome del tuo cluster e *vpc-cni* con il nome del componente aggiuntivo da aggiornare.

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

   Di seguito viene riportato un output di esempio.

   ```
   v1.10.4-eksbuild.1
   ```

1. Determina le versioni del componente aggiuntivo disponibili per la versione del cluster. Sostituiscilo *1.35* con la versione del cluster e *vpc-cni* con il nome del componente aggiuntivo che desideri aggiornare.

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

   Di seguito viene riportato un output di esempio.

   ```
   ------------------------------------------
   |          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   |
   +-----------------+----------------------+
   ```

   Per impostazione predefinita, la versione con `True` nella colonna `Defaultversion` è la versione con cui viene creato il componente aggiuntivo.

1. Aggiorna il componente aggiuntivo. Copia il comando seguente sul tuo dispositivo. Apporta le seguenti modifiche al comando, se necessario, quindi esegui il comando modificato. Per ulteriori informazioni su questo comando, consulta [update-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/update-addon.html) nel Riferimento della riga di comando Amazon EKS.
   + Sostituisci *my-cluster* con il nome del cluster.
   + Sostituisci *vpc-cni* con il nome del componente aggiuntivo da aggiornare che è stato restituito nell'output di un passaggio precedente.
   + Sostituisci *version-number* con la versione a cui eseguire l'aggiornamento restituita nell'output del passaggio precedente. Alcuni componenti aggiuntivi includono versioni consigliate. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando. Per un elenco dei componenti aggiuntivi, consulta. [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md) **\$1** Se il componente aggiuntivo utilizza un account di servizio Kubernetes e un ruolo IAM, sostituiscilo *111122223333* con l'ID dell'account e *role-name* con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consultare la documentazione del componente aggiuntivo da creare. Per un elenco dei componenti aggiuntivi, consultare la pagina [AWS componenti aggiuntivi](workloads-add-ons-available-eks.md). Per specificare un ruolo per l’account di servizio è necessario disporre di un gestore OpenID Connect (OIDC) IAM per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta [Per creare un provider di identità IAM OIDC per il cluster](enable-iam-roles-for-service-accounts.md).

     Se il componente aggiuntivo non utilizza un account di servizio Kubernetes e un ruolo IAM, elimina la riga `serviceAccountRoleARN: arn:aws: iam::111122223333:role/role-name `.
   + L’opzione `--resolve-conflicts PRESERVE` mantiene i valori esistenti per il componente aggiuntivo. Se hai impostato valori personalizzati per le impostazioni del componente aggiuntivo e non utilizzi questa opzione, Amazon EKS sovrascrive i tuoi valori con quelli predefiniti. Se utilizzi questa opzione, è preferibile testare eventuali modifiche ai campi e ai valori su un cluster non di produzione prima di aggiornare il componente aggiuntivo sul cluster di produzione. Se modifichi questo valore in `OVERWRITE`, tutte le impostazioni vengono modificate nei valori predefiniti di Amazon EKS. Se hai impostato valori personalizzati per un’impostazione qualsiasi, è possibile che siano sovrascritti con i valori predefiniti di Amazon EKS. Se modifichi questo valore in `NONE`, Amazon EKS non modifica il valore di alcuna impostazione, ma l’aggiornamento potrebbe non riuscire. Se l'aggiornamento non riesce, riceverai un messaggio di errore che ti aiuterà a risolvere il conflitto.
   + Se desideri rimuovere tutte le configurazioni personalizzate, esegui l'aggiornamento utilizzando l'opzione *--configuration-values '\$1\$1'*. In tal modo, verranno ripristinati i valori predefiniti di tutte le configurazioni personalizzate. Se non desideri modificare la configurazione personalizzata, non fornire il flag. *--configuration-values* Per modificare una configurazione personalizzata, sostituisci *\$1\$1* con i nuovi parametri.

     ```
     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. Controlla lo stato dell'aggiornamento. Sostituiscilo *my-cluster* con il nome del cluster e *vpc-cni* con il nome del componente aggiuntivo che stai aggiornando.

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

   Di seguito viene riportato un output di esempio.

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

   L'aggiornamento è completo quando lo stato è `ACTIVE`.