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

4 minuti di lettura
0

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

Breve descrizione

Le seguenti sono le cause più comuni degli errori dei gruppi di nodi gestiti in un cluster Amazon EKS:

  • Opzioni DHCP errate: ricevi un errore quando registri un nodo con il server API
  • Autorizzazioni chiave AWS Key Management Service (AWS KMS) mancanti: ricevi un errore quando avvii 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 AWS KMS
  • Modello di avvio errato: poiché il modello di avvio EC2 non corrisponde alla versione creata da Amazon EKS, il gruppo di nodi gestito è in stato Degradato

Soluzione

Controllo delle opzioni DHCP

Se utilizzi un'opzione DHCP errata nel DNS personalizzato, potresti ricevere il seguente errore:

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

Verifica che il nome host non contenga più di 63 caratteri. Per esaminare le opzioni DHCP, consulta i set di opzioni DHCP in Amazon VPC. Specifica il nome host in modo che corrisponda alla regione AWS. Per un server AmazonProvidedDNS fornito da Amazon in us-east-1, specifica ec2.internal. Per un server AmazonProvidedDNS in altre regioni, 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.compute.internal
domain-name-servers: AmazonProvidedDNS

Esempio di un set di opzioni DHCP da un DNS personalizzato:

domain-name: nome DNS personalizzato
domain-name-servers: server dei nomi di dominio

Nota: sostituisci region con la tua regione, nome DNS personalizzato con il tuo nome DNS e server dei nomi di dominio con il tuo server di nomi di dominio.

Per ulteriori informazioni, consulta DHCP option set concepts. Se il set di opzioni DHCP è associato a un VPC che ha istanze con più sistemi operativi, è consigliabile specificare un solo nome di dominio.

Configurazione di una policy della chiave per la crittografia dei volumi EBS

Se al ruolo di servizio del gruppo Auto Scaling mancano le autorizzazioni, potrebbe essere visualizzato il seguente 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 chiave AWS KMS, il ruolo di servizio del gruppo Auto Scaling non può accedervi.

Per utilizzare i volumi EBS crittografati, il ruolo di servizio del gruppo Auto Scaling deve disporre delle seguenti autorizzazioni:

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

Per configurare la policy della chiave KMS corretta, consulta Required AWS KMS key policy for use with encrypted volumes. Per consentire a più ruoli IAM di utilizzare volumi Amazon EBS crittografati, modifica le policy della chiave. Per ulteriori informazioni, consulta Allows key users to use the KMS key. Per ulteriori informazioni sulla gestione degli accessi con chiave KMS, consulta AWS Key Management Service.

Aggiornamento della versione del modello di avvio

Nota: prima di aggiornare il modello di avvio EC2 dal gruppo di nodi gestiti, crea una nuova versione. Per ulteriori informazioni, consulta Create a new launch template using parameters you define.

Se aggiorni manualmente il modello di avvio direttamente dal gruppo Auto Scaling, potresti ricevere il seguente errore:

"Ec2LaunchTemplateVersionMismatch"

Per aggiornare il modello di avvio 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. Seleziona la scheda Configurazione, quindi scegli Calcolo.
  4. Nella pagina dei gruppi di nodi in Modelli di lancio, scegli Modifica versione.
  5. Seleziona la versione da applicare al gruppo di nodi. Assicurati che la strategia di aggiornamento sia impostata su Aggiornamento in sequenza.
  6. Seleziona Aggiorna.

Nota: è consigliabile aggiornare il gruppo di nodi con la nuova versione del modello di avvio EC2.

Se non hai utilizzato un modello di avvio personalizzato e ricevi l'errore Ec2LaunchTemplateVersionMismatch, controlla la versione del modello di avvio. I nodi worker e il gruppo di nodi EKS potrebbero non utilizzare la stessa versione del modello di avvio. Per risolvere questo problema, accedi alla console Dimensionamento automatico per tornare alla versione creata da EKS. Per ulteriori informazioni, consulta Managed node group errors. Per altre risoluzioni degli errori relativi ai nodi nei gruppi di nodi gestiti, consulta Come posso far sì che i miei nodi worker si uniscano al mio cluster Amazon EKS?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa