Salta al contenuto

Come posso aggiornare il mio cluster Amazon EKS e i relativi componenti aggiuntivi?

6 minuti di lettura
0

Desidero seguire le best practice per aggiornare il mio cluster Amazon Elastic Kubernetes Service (EKS) e i relativi componenti aggiuntivi.

Breve descrizione

Prima di aggiornare il cluster, verifica la compatibilità con la nuova versione di Kubernetes. Inoltre, potresti dover aggiornare i driver di archiviazione e i componenti aggiuntivi affinché funzionino con le versioni più recenti.

Dopo aver aggiornato una versione di Kubernetes in un cluster Amazon EKS, non puoi tornare a una versione precedente. Prima di aggiornare la versione di Kubernetes, consulta Comprendere il ciclo di vita delle versioni di Kubernetes su EKS. Verifica che le regole del gruppo di sicurezza consentano la comunicazione del cluster richiesta per le sottoreti specificate al momento della sua creazione.

Nota:

  • la versione del kubelet di un nodo non può essere successiva alla versione di Kubernetes.
  • Quando aggiorni il piano di controllo (control-plane), i gruppi di nodi non vengono aggiornati automaticamente.
  • La versione del kubelet del nodo non può essere antecedente di più di due versioni secondarie alla versione di Kubernetes. Ad esempio, per la versione di Kubernetes 1.33, le versioni del kubelet supportate sono 1.33, 1.32 e 1.31.

Una versione secondaria riceve il supporto standard in Amazon EKS per 14 mesi dopo il rilascio. Dopodiché la versione passa al supporto esteso per 12 mesi.

Puoi utilizzare il supporto esteso per mantenere una versione specifica di Kubernetes più a lungo, con costi aggiuntivi per ogni ora di cluster. Se non aggiorni il cluster prima del termine del periodo di supporto esteso, AWS aggiorna automaticamente il cluster alla prima versione supportata in quel momento.

Il supporto esteso è attivato per impostazione predefinita. Per disattivare il supporto esteso, consulta Prevenire l’aumento del costo dei cluster disabilitando il supporto esteso EKS. Per le date di rilascio e supporto, consulta Calendario di rilascio di Amazon EKS Kubernetes.

Risoluzione

Aggiorna la versione del cluster Amazon EKS

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Prima di tutto, controlla la versione corrente di Kubernetes del piano di controllo (control-plane) e dei nodi del cluster, nonché la versione corrente di eksctl.

Esegui questo comando per verificare la versione di Kubernetes del piano di controllo (control-plane) del cluster:

kubectl version

Esempio di output:

Client Version: v1.33.2
Kustomize Version: v5.6.0
Server Version: v1.32.5-eks-5d4a308

Esegui questo comando per ottenere la versione di Kubernetes dei nodi:

kubectl get nodes

Esempio di output:

NAME                            STATUS   ROLES    AGE    VERSION
ip-10-42-177-172.ec2.internal   Ready    <none>   132m   v1.32.3-eks-473151a
ip-10-42-177-39.ec2.internal    Ready    <none>   142m   v1.32.3-eks-473151a

Esegui questo comando per verificare la versione di eksctl:

eksctl version

Nota: devi utilizzare eksctl versione 0.210.0 o successiva. Il completamento dell'aggiornamento richiede alcuni minuti.

Quindi utilizza eksctl, la console Amazon EKS o AWS CLI per aggiornare il cluster.

Aggiorna la versione del gruppo di nodi

Per aggiornare un gruppo di nodi gestito, consulta Aggiornamento del gruppo di nodi gestito per il cluster. Per aggiornare un gruppo di nodi self-managed, devi eseguire la migrazione delle applicazioni a un nuovo gruppo di nodi.

Aggiorna i componenti aggiuntivi di Amazon EKS

Amazon EKS non aggiorna automaticamente i componenti aggiuntivi durante l'aggiornamento del piano di controllo (control-plane). Controlla le versioni compatibili per i componenti aggiuntivi, quindi aggiornali. Puoi aggiornare solo una versione secondaria alla volta.

Per verificare se la versione del componente aggiuntivo è compatibile con l'ultima versione di Kubernetes, esegui questo comando:

eksctl utils describe-addon-versions —kubernetes-version 1.33 —name name-of-addon | grep AddonVersion

Nota: sostituisci name-of-addon con il nome del tuo componente aggiuntivo e 1.33 con l'ultima versione di Kubernetes.

Verifica che nell'output compaia la versione corrente.

Esempio di output:

"AddonVersions": [
                    "AddonVersion": "v1.12.1-eksbuild.2",
                    "AddonVersion": "v1.11.4-eksbuild.14",
                    "AddonVersion": "v1.11.4-eksbuild.10",
                    "AddonVersion": "v1.11.4-eksbuild.2",
                    "AddonVersion": "v1.11.3-eksbuild.3",
                    "AddonVersion": "v1.11.3-eksbuild.2",

Potresti dover aggiornare i seguenti componenti aggiuntivi di Amazon EKS:

Per ulteriori informazioni, consulta Componenti aggiuntivi di AWS.

Plugin Amazon VPC CNI

Verifica le versioni di Amazon VPC CNI compatibili con il cluster.

Quindi scegli una delle seguenti opzioni per aggiornare il componente aggiuntivo:

kube-proxy

Verifica le versioni di kube-proxy compatibili con il cluster.

Quindi scegli una delle seguenti opzioni per aggiornare il componente aggiuntivo:

CoreDNS

Verifica le versioni di CoreDNS compatibili con il cluster.

Quindi scegli una delle seguenti opzioni per aggiornare il componente aggiuntivo:

Driver CSI per Amazon EBS e Amazon EFS

Per aggiornare un driver CSI per Amazon EBS o Amazon EFS, consulta Aggiornamento di un componente aggiuntivo di Amazon EKS.

Aggiorna AWS Load Balancer Controller

Per la compatibilità delle versioni di Kubernetes con AWS Load Balancer Controller, consulta Supported Kubernetes versions (Versioni di Kubernetes supportate) sul sito web GitHub. AWS Load Balancer Controller 2.5.0 o versioni successive richiede Kubernetes 1.22 o versioni successive. Per ulteriori informazioni, consulta AWS Load Balancer Controller releases (Rilasci di AWS Load Balancer Controller) sul sito web GitHub. Per installare AWS Load Balancer Controller, consulta Installare il controller.

AWS UFFICIALEAggiornata 10 mesi fa