Come posso risolvere gli errori dei gruppi di nodi gestiti in un cluster Amazon EKS?

Ultimo aggiornamento: 15/11/2021

Ho problemi con il mio gruppo di nodi gestiti nel cluster Amazon Elastic Kubernetes Service (Amazon EKS).

Breve descrizione

Viene visualizzato un errore quando si registra un nodo con il server API.

Se si utilizza un'opzione DHCP errata nel DNS personalizzato, viene visualizzato il seguente errore:

Node "ip-x-x-x-x.eu-region.compute.internal" is invalid: metadata.labels: Invalid value

Per risolvere il problema, completa i passaggi per Controllare le opzioni DHCP nella sezione Risoluzione.

Viene visualizzato un errore quando si avvia un'istanza Amazon Elastic Compute Cloud (Amazon EC2) in un gruppo Auto Scaling con un volume Amazon Elastic Block Store (Amazon EBS) crittografato con una chiave KMS.

Esempio di errore:

AccessDeniedException: User: arn:aws:sts::xxxxxxxxxxxx:assumed-role/AWSServiceRoleForAutoScaling/AutoScaling is not authorized to perform: kms:GenerateDataKeyWithoutPlaintext on resource: ARN of KMS key

Se un nodo gestito utilizza un volume Amazon EBS crittografato con una chiave KMS, il ruolo di servizio del gruppo Auto Scaling non ha accesso ad esso. Per impostare una policy della chiave, consulta come Configurare una policy della chiave per la crittografia del volume EBS nella sezione Risoluzione.

Il gruppo di nodi gestiti è in stato Degradato perché la versione del modello di avvio di EC2 non corrisponde alla versione creata da Amazon EKS.

Se si aggiorna manualmente il modello di avvio direttamente dal gruppo Auto Scaling, viene visualizzato il seguente errore:

Ec2LaunchTemplateVersionMismatch

Per risolvere il problema, completa i passaggi per Aggiornare la versione del modello di avvio nella sezione Risoluzione.

Per le risoluzioni di altri nodi non riusciti nei gruppi di nodi gestiti, consulta Come posso unire i nodi (worker) nel mio cluster Amazon EKS?

Risoluzione

Controllare le opzioni DHCP

Verifica che il tuo nome host non contenga più di 63 caratteri. Per rivedere le opzioni DHCP, consulta Lavorare con i set di opzioni DHCP.

Specifica il nome host in modo che corrisponda alla regione AWS. Per un server AmazonProvidedDNS in us-east-1, specifica ec2.internal. Per un server AmazonProvidedDNS in altre regioni AWS, specifica region.compute.internal.

Esempio di opzione DHCP impostata in us-east-1:

domain-name: ec2.internal
domain-name-servers: AmazonProvidedDNS

Esempio di opzione DHCP impostata in altre regioni:

domain-name: region name.compute.internal
domain-name-servers: AmazonProvidedDNS

Esempio di opzione DHCP impostata da un DNS personalizzato:

domain-name:custom DNS name
domain-name-servers: domain name server

Nota: sostituisci region name (nome regione) con la tua regione, custom DNS name (nome DNS personalizzato) con il nome del tuo DNS e domain name server (server dei nomi di dominio) con il tuo server dei nomi di dominio.

Per ulteriori informazioni, consulta la sezione domain-name di Panoramica dei set di opzioni DHCP.

Nota: se il set di opzioni DHCP è associato a un VPC con istanze con più sistemi operativi, è una best practice per specificare un solo nome di dominio.

Configurare una policy della chiave per la crittografia del volume EBS

Il ruolo di servizio del gruppo Auto Scaling deve disporre delle seguenti autorizzazioni per lavorare con volumi EBS crittografati:

  • kms:Encrypt
  • kms:Decrypt
  • kms:ReEncrypt*
  • kms:GenerateDataKey*
  • kms:DescribeKey
  • kms:CreateGrant

Per configurare la policy della chiave KMS corretta, consulta Policy della chiave AWS KMS necessaria per l'utilizzo con volumi crittografati.

Per consentire a più ruoli IAM di lavorare con volumi EBS crittografati, è possibile modificare le policy della chiave. Per ulteriori informazioni, consulta la sezione Consente agli utenti della chiave di utilizzare la chiave KMS.

Per ulteriori informazioni sulla gestione dell'accesso alle chiavi KMS, consulta Gestione dell'accesso alle chiavi KMS.

Aggiornare la versione del modello di avvio

Nota: prima di aggiornare il modello di avvio di EC2 dal gruppo di nodi gestiti, creane una nuova versione. Per ulteriori informazioni, consulta la sezione Creazione di un nuovo modello di avvio utilizzando i parametri definiti dall'utente.

Per aggiornare il modello di avvio di EC2 dal gruppo di nodi gestiti, completa i seguenti passaggi:

  1. Apri la console EKS.
  2. Seleziona il cluster che contiene il gruppo di nodi da aggiornare.
  3. Scegli la scheda Configuration (Configurazione), quindi scegli la scheda Compute (Calcolo).
  4. Nella pagina dei gruppi di nodi sotto i modelli di avvio, scegli Change version (Cambia versione).
  5. Seleziona la versione da applicare al tuo gruppo di nodi. Assicurati che la strategia di aggiornamento sia impostata su Rolling Update (Aggiornamento in sequenza).
  6. Scegli Update (Aggiorna).

Nota: è una best practice per aggiornare il gruppo di nodi alla nuova versione del modello di avvio di EC2.

Se non hai utilizzato un modello di avvio personalizzato e ricevi l'errore EC2LaunchTemplateVersionMismatch, i nodi (worker) non utilizzano la stessa versione del gruppo di nodi EKS. Per risolvere questo problema, vai alla console Auto Scaling per ripristinare la versione creata da EKS. Per ulteriori informazioni, consulta Errori del gruppo di nodi gestiti.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?