Aggiornamento di un componente aggiuntivo di Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Aggiornamento di un componente aggiuntivo di Amazon EKS

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 Componenti aggiuntivi AWS. Se il componente aggiuntivo richiede un ruolo IAM, consulta i dettagli del componente aggiuntivo specifico in Componenti aggiuntivi di Available Amazon EKS da AWS per conoscere i dettagli sulla creazione del ruolo.

Prerequisiti

Completa le seguenti operazioni prima di creare un componente aggiuntivo:

Procedura

È possibile aggiornare un componente aggiuntivo di Amazon EKS utilizzando eksctl, Console di gestione AWS o AWS CLI.

Aggiornamento del componente aggiuntivo (eksctl)

  1. Determina i componenti aggiuntivi e le versioni dei componenti aggiuntivi installati sul tuo cluster. Sostituisci my-cluster con il nome del tuo 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.

  2. 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 tuo cluster.

      • Sostituisci region-code con la regione AWS 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 precedente all’ultima versione disponibile, sostituisci più recente 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 Componenti aggiuntivi AWS.* Se il componente aggiuntivo utilizza un ruolo IAM e un account di servizio Kubernetes, sostituisci 111122223333 con l’ID del tuo account e role-name con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consulta la documentazione del componente aggiuntivo che stai creando. Per un elenco dei componenti aggiuntivi, consulta Componenti aggiuntivi AWS. Per specificare un ruolo per l’account di servizio è necessario disporre di un provider 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.

        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 (conservazione) 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
    2. Esegui il comando modificato per creare il file update-addon.yaml.

    3. Applica il file di configurazione al tuo cluster.

      eksctl update addon -f update-addon.yaml

    Per ulteriori informazioni sull’aggiornamento dei componenti aggiuntivi, consultaAggiornamento dei componenti aggiuntivi nella documentazione di eksctl.

Aggiornare il componente aggiuntivo (console AWS)

  1. Aprire la Console Amazon EKS.

  2. Nel pannello di navigazione a sinistra, seleziona Cluster.

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

  4. Seleziona la scheda Componenti aggiuntivi.

  5. Scegli il componente aggiuntivo da aggiornare.

  6. Scegli Modifica.

  7. Nella pagina Configura il nome di un componente aggiuntivo , procedi secondo quanto 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 Componenti aggiuntivi AWS.

    2. 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). Segui il passaggio appropriato riportato 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 disponi 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, scegli 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, completa i passaggi della procedura guidata IAM come indicato di seguito.

        • Al passaggio Seleziona un’entità attendibile, l’opzione di servizio AWS per EKS e il caso d’uso per EKS - Pod Identity sono preselezionati e la policy di attendibilità adeguata sarà compilata automaticamente per il componente aggiuntivo. Ad esempio, il ruolo sarà creato con la policy di attendibilità adeguata contenente il principale IAM pods.eks.amazonaws.com, come descritto in Vantaggi delle associazioni EKS Pod Identity. Scegli Next (Successivo).

        • Al passaggio Aggiungi autorizzazioni, è 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 sarà creato con la policy gestita AmazonEKS_CNI_Policy, come descritto in Plug-in CNI di Amazon VPC per Kubernetes. Scegli Next (Successivo).

        • Al passaggio Nomina, verifica e crea, in Nome del ruolo, è inserito automaticamente il nome del ruolo predefinito per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo CNI di Amazon VPC, il ruolo sarà creato con il nome AmazonEKSPodIdentityAmazonVPCCNIRole. In Descrizione, la descrizione predefinita è compilata automaticamente con la descrizione adeguata per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo CNI di Amazon VPC, il ruolo sarà creato con la descrizione Consente ai pod in esecuzione nel cluster Amazon EKS di accedere alle risorse AWS. In Policy di attendibilità, è 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.

      2. Per i componenti aggiuntivi che non includono Richiede un abbonamento in Stato e per i quali desideri configurare i ruoli utilizzando IRSA, consulta la documentazione relativa al componente aggiuntivo da creare per definire una policy IAM e allegarla a un ruolo. Per un elenco dei componenti aggiuntivi, consulta Componenti aggiuntivi AWS. 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.

    3. Scegli Impostazioni di configurazione facoltative.

    4. 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 Componenti aggiuntivi AWS... 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.

  8. Scegli Save changes (Salva modifiche).

Aggiornare un componente aggiuntivo (AWS CLI)

  1. È necessaria la versione 2.12.3 o una versione 1.27.160 successiva dell’interfaccia a riga di comando AWS (AWS CLI) installata e configurata sul dispositivo o su AWS CloudShell. Per verificare la versione attuale, usa aws --version | cut -d / -f2 | cut -d ' ' -f1. I programmi di gestione dei pacchetti, come yum, apt-get o Homebrew per macOS, spesso sono aggiornati a versioni precedenti dell’AWS CLI. Per installare la versione più recente, consulta Installazione e Configurazione rapida con aws configure nella Guida per l’utente dell’interfaccia a riga di comando AWS. La versione di AWS CLI installata in AWS CloudShell potrebbe anche essere di diverse versioni precedenti alla più recente. Per aggiornarla, consulta Installazione di AWS CLI per la tua home directory nella Guida per l’utente di CloudShell AWS.

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

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

    Di seguito viene riportato un output di esempio:

    { "addons": [ "coredns", "kube-proxy", "vpc-cni" ] }
  3. 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
  4. Determina le versioni del componente aggiuntivo disponibili per la versione del cluster. Sostituisci 1.33 con la versione del cluster e vpc-cni con il nome del componente aggiuntivo da aggiornare.

    aws eks describe-addon-versions --kubernetes-version 1.33 --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.

  5. 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 nel Riferimento della riga di comando Amazon EKS.

    • Sostituisci my-cluster con il nome del tuo cluster.

    • Sostituisci vpc-cni con il nome del componente aggiuntivo da aggiornare che è stato restituito nell’output di un passaggio precedente.

    • Sostituire version-number con la versione da aggiornare restituita nell’output della fase 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 Componenti aggiuntivi AWS.* Se il componente aggiuntivo utilizza un ruolo IAM e un account di servizio Kubernetes, sostituisci 111122223333 con l’ID del tuo account e role-name con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consulta la documentazione del componente aggiuntivo che stai creando. Per un elenco dei componenti aggiuntivi, consulta Componenti aggiuntivi AWS. Per specificare un ruolo per l’account di servizio è necessario disporre di un provider 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.

      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 ’{}’. 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. Se desideri modificare una configurazione personalizzata, sostituisci {} 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
  6. Controlla lo stato dell'aggiornamento. 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

    Di seguito viene riportato un output di esempio:

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

    L'aggiornamento è completo quando lo stato è ACTIVE.