Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Perché il mio gruppo di nodi Amazon EKS è in stato Degradato?
Il gruppo di nodi gestito nel mio cluster Amazon Elastic Kubernetes Service (Amazon EKS) è in stato Degradato.
Risoluzione
Esegui le seguenti azioni di risoluzione dei problemi in base al messaggio di errore che ricevi in NodegroupHealth.
AccessDenied
L'errore AccessDenied si verifica quando l'autenticazione o l'autorizzazione di Amazon EKS o di uno dei nodi gestiti nel server API del cluster Kubernetes ha esito negativo. Ricevi un errore simile al seguente esempio:
"Your worker nodes do not have access to the cluster. Verify if the node instance role is present and correctly configured in the aws-auth ConfigMap."
Per risolvere il problema, esegui questo comando per verificare che le autorizzazioni del ruolo dell'istanza del nodo siano corrette in aws-auth configmap:
kubectl get configmap aws-auth -n kube-system -o yaml
Oppure verifica di aver mappato correttamente il ruolo del nodo su una voce di accesso.
Il ruolo dell'istanza del nodo worker deve essere presente e configurato correttamente. Assicurati di mappare il ruolo del nodo solo su system:bootstrappers o system:nodes. Non è consigliabile mappare il ruolo del nodo sul gruppo system:masters.
Ricevi anche errori AccessDenied quando il ruolo che esegue operazioni sui gruppi di nodi gestiti non dispone delle autorizzazioni eks:node-manager ClusterRole o ClusterRoleBinding. Per risolvere il problema, aggiorna le autorizzazioni del ruolo.
Se utilizzi un'Amazon Machine Image (AMI) privata di Windows per avviare un gruppo di nodi gestito, potresti ricevere il messaggio di errore Not authorized for images. Quando AWS avvia una nuova AMI Windows, AWS rende private tutte le AMI antecedenti di 4 mesi. Per risolvere il problema, consulta Not authorized for images.
AmiIdNotFound
L'errore AmiIdNotFound si verifica quando Amazon EKS non riesce a trovare l'ID AMI associato al modello di avvio. Ricevi un errore simile al seguente esempio:
"AmiIdNotFound: The ami id '[ami-0cxx]' does not exist"
Per risolvere il problema, assicurati che l'ID AMI che hai aggiunto al modello di avvio personalizzato esista. Inoltre, assicurati di averlo condiviso con l'account AWS.
AutoScalingGroupNotFound
L'errore AutoScalingGroupNotFound si verifica quando Amazon EKS non riesce a trovare il gruppo Auto Scaling di Amazon Elastic Compute Cloud (EC2) associato al gruppo di nodi gestito. Ricevi un errore simile al seguente esempio:
"AutoScalingGroupNotFound - The Amazon AutoScalingGroup ASG Name was not found."
Per risolvere il problema, assicurati di non aver eliminato il gruppo Auto Scaling EC2 associato al gruppo di nodi gestito. Se hai eliminato accidentalmente il gruppo Auto Scaling EC2, crea un gruppo Auto Scaling EC2 con lo stesso nome. Attendi qualche minuto, quindi controlla se il gruppo di nodi è tornato nello stato Attivo.
ClusterUnreachable
L'errore ClusterUnreachable si verifica quando Amazon EKS o i nodi gestiti non riescono a comunicare con il server API del cluster Kubernetes. Ricevi un errore simile al seguente esempio:
"Ec2SecurityGroupNotFound You must use a valid fully-formed launch template. The security group 'sg-09fxx' does not exist in VPC 'vpc-0a8cxx'"
L'errore si verifica in genere a causa di interruzioni della rete o dei server API che scadono quando inviano le richieste. L'errore si verifica anche se superi la quota di 8 GB per le dimensioni del database etcd. Per risolvere il problema, consulta Managing etcd database size on Amazon EKS clusters (Gestione delle dimensioni del database etcd sui cluster Amazon EKS). Inoltre, assicurati che i componenti aggiuntivi principali, come ad esempio kube-proxy, Amazon Virtual Private Cloud (Amazon VPC) CNI e CoreDNS, siano aggiornati all'ultima versione.
AutoScalingGroupInvalidConfiguration
L'errore AutoScalingGroupInvalidConfiguration si verifica quando configuri in modo errato il gruppo Auto Scaling EC2 del gruppo di nodi gestito. Ricevi un errore simile al seguente esempio:
"AutoScalingGroupInvalidConfiguration: The Amazon AutoScalingGroup ASG Name has subnets ([Incorrect Subnet ID 1, Incorrect Subnet ID 2, Incorrect Subnet ID 3]) which is not expected by Amazon EKS. Expected subnets : ([Correct Subnet ID 1, Correct Subnet ID 2, Correct Subnet ID 3])."
Per risolvere il problema, identifica e rimuovi le modifiche apportate al gruppo Auto Scaling EC2. Assicurati che le sottoreti associate non siano cambiate. Aggiorna il gruppo Auto Scaling EC2 associato al gruppo di nodi per utilizzare le sottoreti elencate nel messaggio di errore.
Non è consigliabile aggiornare manualmente il gruppo Auto Scaling EC2 associato al gruppo di nodi gestito. Apporta una modifica manuale solo per annullare modifiche manuali apportate in precedenza.
Ec2SecurityGroupNotFound
L'errore Ec2SecurityGroupNotFound si verifica quando Amazon EKS non riesce a trovare il gruppo di sicurezza del cluster. Ricevi un errore simile al seguente esempio:
"Ec2SecurityGroupNotFound The Amazon EC2 Security Group sg-04f3xx for node group-Name was not found."
Se ricevi questo messaggio di errore, non puoi più utilizzare il gruppo di nodi gestito nello stato Degradato. Devi invece avviare un nuovo gruppo di nodi. Quindi svuota ed elimina il gruppo di nodi precedente. Per ulteriori informazioni sullo svuotamento di un gruppo di nodi, consulta Safely Drain a Node (Svuotamento di un nodo in sicurezza) sul sito web di Kubernetes.
Ec2LaunchTemplateNotFound
L'errore Ec2LaunchTemplateNotFound si verifica quando il modello di avvio di Amazon Elastic Compute Cloud (Amazon EC2) per il gruppo di nodi gestito non corrisponde alla versione creata da Amazon EKS. Ricevi un errore simile al seguente esempio:
"The Amazon EC2 Launch Template lt-0cdac3xxf version number was not found."
Amazon EKS distribuisce gruppi gestiti con un modello di avvio gestito associato al gruppo Auto Scaling EC2 gestito sottostante.
Se hai accidentalmente eliminato il modello di avvio, è consigliabile avviare un nuovo gruppo di nodi. Quindi svuota ed elimina il gruppo di nodi precedente. Per ulteriori informazioni sullo svuotamento di un gruppo di nodi, consulta Safely Drain a Node (Svuotamento di un nodo in sicurezza) sul sito web di Kubernetes.
Non è consigliabile aggiornare manualmente il gruppo Auto Scaling EC2 associato al gruppo di nodi gestito. Apporta una modifica manuale solo per annullare modifiche manuali apportate in precedenza
Ec2LaunchTemplateVersionMismatch
L'errore Ec2LaunchTemplateVersionMismatch si verifica quando la versione del modello di avvio del gruppo Auto Scaling EC2 associato al gruppo di nodi gestito non corrisponde alla versione creata da Amazon EKS. Ricevi un errore simile al seguente esempio:
"The Amazon EC2 Launch Template : lt-0cdacxx has a new version (number) associated with your Autoscaling group, which is not managed by Amazon EKS. Expected Launch Template version : (number) lt-0cdac39f3axx"
Amazon EKS distribuisce sempre gruppi di nodi gestiti con un modello di avvio gestito. Se non fornisci un modello di avvio, Amazon EKS ne crea automaticamente uno con i valori predefiniti dell'account. Non è consigliabile modificare il modello generato automaticamente. Inoltre, non puoi aggiornare direttamente i gruppi di nodi esistenti che non utilizzano un modello di avvio personalizzato. Devi invece creare un nuovo gruppo di nodi con un modello di avvio personalizzato.
Per risolvere l'errore Ec2LaunchTemplateVersionMismatch per un modello di avvio personalizzato, aggiorna la versione del modello di avvio alla versione prevista del modello di avvio indicata nel messaggio di errore.
Per informazioni sulle azioni consentite in un modello di avvio per i gruppi di nodi Amazon EKS, consulta Informazioni di base sulla configurazione del modello di avvio.
AsgInstanceLaunchFailures
L'errore AsgInstanceLaunchFailures si verifica quando il gruppo Auto Scaling EC2 non è in grado di avviare istanze. Ricevi un errore simile al seguente esempio:
"AsgInstanceLaunchFailures Could not launch Spot Instances. UnfulfillableCapacity - Unable to fulfill capacity due to your request configuration. Please adjust your request and try again. Launching EC2 instance failed."
L'errore si verifica in genere quando la capacità dell'istanza spot non è sufficiente per il tipo di istanza richiesto. È consigliabile utilizzare un mix di tipi e famiglie di istanze provenienti da diversi pool di istanze spot per aumentare la capacità. Per ulteriori informazioni, consulta Come posso avviare le istanze spot e risolvere eventuali problemi utilizzando gruppi di nodi gestiti da Amazon EKS?
InsufficientFreeAddresses
L'errore InsufficientFreeAddresses si verifica quando una sottorete associata al gruppo di nodi gestito non dispone di un numero sufficiente di indirizzi IP disponibili per i nuovi nodi. Ricevi un errore simile al seguente esempio:
"InsufficientFreeAddresses - Amazon AutoScaling was unable to launch instances because there are not enough free addresses in the subnet associated with your AutoScaling group(s)."
Per risolvere il problema, assicurati di avere un numero sufficiente di indirizzi IP nelle sottoreti associate al gruppo di nodi gestito. Per ulteriori informazioni, consulta Ottimizzazione dell'utilizzo degli indirizzi IP.
IamInstanceProfileNotFound o IamNodeRoleNotFound
Gli errori IamInstanceProfileNotFound o IamNodeRoleNotFound si verificano quando elimini il ruolo o il profilo AWS Identity and Access Management (AWS IAM) associato al gruppo di nodi gestito. Per risolvere il problema, crea un nuovo profilo o ruolo IAM con lo stesso nome e le stesse impostazioni del profilo o del ruolo eliminato.
