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:
-
Verifica se il tuo componente aggiuntivo richiede un ruolo IAM. Per ulteriori informazioni, consulta Componenti aggiuntivi Amazon EKS.
-
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.
Procedura
È possibile aggiornare un componente aggiuntivo di Amazon EKS utilizzando eksctl, Console di gestione AWS o AWS CLI.
Aggiornamento del componente aggiuntivo (eksctl)
-
Determina i componenti aggiuntivi e le versioni dei componenti aggiuntivi installati sul tuo cluster. Sostituisci
my-clustercon il nome del tuo cluster.eksctl get addon --cluster my-clusterDi 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.1L'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. -
Aggiorna il componente aggiuntivo.
-
Copia il comando seguente sul tuo dispositivo. Apporta le seguenti modifiche al comando in base alla necessità:
-
Sostituisci
my-clustercon il nome del tuo cluster. -
Sostituisci
region-codecon la regione AWS in cui si trova il cluster. -
Sostituisci
vpc-cnicon 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ù recentecon 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, sostituisci111122223333con l’ID del tuo account erole-namecon 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 inoverwrite, 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 innone, 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
-
-
Esegui il comando modificato per creare il file
update-addon.yaml. -
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)
-
Aprire la Console Amazon EKS
. -
Nel pannello di navigazione a sinistra, seleziona Cluster.
-
Scegli il nome del cluster per cui aggiornare il componente aggiuntivo.
-
Seleziona la scheda Componenti aggiuntivi.
-
Scegli il componente aggiuntivo da aggiornare.
-
Scegli Modifica.
-
Nella pagina Configura il
nome di un componente aggiuntivo, procedi secondo quanto segue:-
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.
-
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:
-
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.
-
-
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.
-
-
Scegli Impostazioni di configurazione facoltative.
-
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.
-
-
Scegli Save changes (Salva modifiche).
Aggiornare un componente aggiuntivo (AWS CLI)
-
È necessaria la versione
2.12.3o una versione1.27.160successiva dell’interfaccia a riga di comando AWS (AWS CLI) installata e configurata sul dispositivo o su AWS CloudShell. Per verificare la versione attuale, usaaws --version | cut -d / -f2 | cut -d ' ' -f1. I programmi di gestione dei pacchetti, comeyum,apt-geto 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. -
Visualizza l'elenco dei componenti aggiuntivi installati. Sostituisci
my-clustercon il nome del tuo cluster.aws eks list-addons --cluster-name my-clusterDi seguito viene riportato un output di esempio:
{ "addons": [ "coredns", "kube-proxy", "vpc-cni" ] } -
Visualizza la versione corrente del componente aggiuntivo da aggiornare. Sostituisci
my-clustercon il nome del tuo cluster evpc-cnicon il nome del componente aggiuntivo da aggiornare.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output textDi seguito viene riportato un output di esempio:
v1.10.4-eksbuild.1 -
Determina le versioni del componente aggiuntivo disponibili per la versione del cluster. Sostituisci
1.33con la versione del cluster evpc-cnicon 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 tableDi 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
Truenella colonnaDefaultversionè la versione con cui viene creato il componente aggiuntivo. -
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-clustercon il nome del tuo cluster. -
Sostituisci
vpc-cnicon il nome del componente aggiuntivo da aggiornare che è stato restituito nell’output di un passaggio precedente. -
Sostituire
version-numbercon 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, sostituisci111122223333con l’ID del tuo account erole-namecon 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 PRESERVEmantiene 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 inOVERWRITE, 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 inNONE, 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
-
-
Controlla lo stato dell'aggiornamento. Sostituisci
my-clustercon il nome del tuo cluster evpc-cnicon il nome del componente aggiuntivo da aggiornare.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cniDi seguito viene riportato un output di esempio:
{ "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "UPDATING", } }L'aggiornamento è completo quando lo stato è
ACTIVE.