Warum hat meine Amazon-EKS-Knotengruppe den Status „Degradiert“?

Lesedauer: 7 Minute
0

Die verwaltete Knotengruppe in meinem Amazon-Elastic-Kubernetes-Service(Amazon EKS)-Cluster hat den Status „Degradiert“.

Lösung

Ergreife die folgenden Maßnahmen zur Fehlerbehebung je nach Fehlermeldung, die du in NodegroupHealth erhältst.

AccessDenied

Die AccessDenied-Fehlermeldung wird dann angezeigt, wenn Amazon EKS oder einer deiner verwalteten Knoten sich auf deinem Kubernetes-Cluster-API-Server nicht authentifizieren oder autorisieren kann. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„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.“

Führe zur Behebung dieses Problems den folgenden Befehl aus, der bestätigt, dass die Rollenberechtigungen der Knoten-Instance in aws-auth configmap korrekt sind:

kubectl get configmap aws-auth -n kube-system -o yaml

Oder bestätige, dass du die Knotenrolle ordnungsgemäß einem Zugriffseintrag zugeordnet hast.

Deine Worker-Knoten-Instance-Rolle muss vorhanden und ordnungsgemäß konfiguriert sein. Achte darauf, dass du die Knotenrolle nur system:bootstrappers oder system:nodes zuordnest. Es ist keine bewährte Methode, die Knotenrolle der Gruppe system:masters zuzuordnen.

Es werden auch dann Fehlermeldungen des Typs AccessDenied angezeigt, wenn die Rolle, die Operationen an den verwalteten Knotengruppen ausführt, nicht über die folgenden Berechtigungen verfügt: eks:node-manager ClusterRole oder ClusterRoleBinding. Aktualisiere deine Rollenberechtigungen, um dieses Problem zu beheben.

Wenn du ein privates Windows Amazon Machine Image (AMI) verwendest, um eine verwaltete Knotengruppe zu starten, wird möglicherweise die Fehlermeldung Not authorized for images angezeigt. Wenn AWS ein neues Windows AMI einführt, stellt AWS alle AMIs, die älter sind als vier Monate, auf privat. Informationen zur Behebung dieses Problems findest du unter Not authorized for images.

AmiIdNotFound

Die Fehlermeldung AmiIdNotFound tritt auf, wenn Amazon EKS die AMI-ID, die deiner Startvorlage zugeordnet ist, nicht finden kann. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„AmiIdNotFound: The ami id '[ami-0cxx]' does not exist“

Um dieses Problem zu beheben, vergewissere dich, dass die AMI-ID, die du zu deiner benutzerdefinierten Startvorlage hinzugefügt hast, vorhanden ist. Stelle außerdem sicher, dass du sie mit deinem AWS-Konto geteilt hast.

AutoScalingGroupNotFound

Die Fehlermeldung AutoScalingGroupNotFound wird angezeigt, wenn Amazon EKS die Amazon-Elastic-Compute-Cloud(EC2)-Auto-Scaling-Gruppe, die der verwalteten Knotengruppe zugeordnet ist, nicht finden kann. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„AutoScalingGroupNotFound - The Amazon AutoScalingGroup ASG Name was not found.“

Um dieses Problem zu beheben, vergewissere dich, dass du die EC2-Auto-Scaling-Gruppe, die der verwalteten Knotengruppe zugeordnet ist, nicht gelöscht hast. Solltest du versehentlich die EC2-Auto-Scaling-Gruppe gelöscht haben, erstelle eine EC2-Auto-Scaling-Gruppe mit demselben Namen. Warte ein paar Minuten und überprüfe dann, ob die Knotengruppe wieder den Status Aktiv hat.

ClusterUnreachable

Die Fehlermeldung ClusterUnreachable wird angezeigt, wenn Amazon EKS oder deine verwalteten Knoten nicht mit deinem Kubernetes-Cluster-API-Server kommunizieren können. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„Ec2SecurityGroupNotFound You must use a valid fully-formed launch template. The security group 'sg-09fxx' does not exist in VPC 'vpc-0a8cxx'“

Dieser Fehler entsteht in der Regel durch Netzwerkunterbrechungen oder durch API-Server, bei denen beim Senden von Anfragen ein Timeout auftritt. Diese Fehlermeldung wird auch dann angezeigt, wenn du das 8-GB-Kontingent für deine etcd-Datenbankgröße überschreitest. Informationen zur Behebung dieses Problems findest du unter Verwaltung der etcd-Datenbankgröße auf Amazon-EKS-Clustern. Achte außerdem darauf, dass die wichtigsten Add-Ons wie kube-proxy, Amazon Virtual Private Cloud (Amazon VPC) CNI und CoreDNS auf dem neuesten Stand sind.

AutoScalingGroupInvalidConfiguration

Die Fehlermeldung AutoscalingGroupInvalidConfiguration wird angezeigt, wenn du die EC2-Auto-Scaling-Gruppe der verwalteten Knotengruppe falsch konfigurierst. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„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]).“

Identifiziere und entferne Änderungen an der EC2-Auto-Scaling-Gruppe, um dieses Problem zu beheben. Vergewissere dich, dass die zugehörigen Subnetze nicht geändert wurden. Aktualisiere das deiner Knotengruppe zugeordnete EC2 Auto Scaling, um die in der Fehlermeldung aufgeführten Subnetze zu verwenden.

Es ist keine bewährte Methode, die EC2-Auto-Scaling-Gruppe, die du der verwalteten Knotengruppe zugeordnet hast, manuell auf den neuesten Stand zu bringen. Führe nur manuelle Änderungen durch, um zuvor vorgenommene manuelle Änderungen rückgängig zu machen.

Ec2SecurityGroupNotFound

Die Fehlermeldung Ec2SecurityGroupNotFound wird angezeigt, wenn Amazon EKS die Cluster-Sicherheitsgruppe nicht finden kann. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„Ec2SecurityGroupNotFound The Amazon EC2 Security Group sg-04f3xx for node group-Name was not found.“

Wenn diese Fehlermeldung angezeigt wird, kannst du die verwaltete Knotengruppe im Status Degradiert nicht mehr verwenden. Du musst stattdessen eine neue Knotengruppe starten. Entleere und lösche danach die vorherige Knotengruppe. Weitere Informationen zum Entleeren einer Knotengruppe findest du auf der Kubernetes-Website unter Einen Knoten sicher entleeren.

Ec2LaunchTemplateNotFound

Die Fehlermeldung Ec2LaunchTemplateNotFound wird angezeigt, wenn die Amazon-Elastic-Compute-Cloud(Amazon EC2)-Startvorlage für deine verwaltete Knotengruppe nicht mit der Version übereinstimmt, die Amazon EKS erstellt hat. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„The Amazon EC2 Launch Template lt-0cdac3xxf version number was not found.“

Amazon EKS stellt verwaltete Gruppen mit einer verwalteten Startvorlage bereit, die der zugrunde liegenden verwalteten EC2-Auto-Scaling-Gruppe zugeordnet ist.

Solltest du die Startvorlage versehentlich gelöscht haben, empfiehlt es sich, eine neue Knotengruppe zu starten. Entleere und lösche danach die vorherige Knotengruppe. Weitere Informationen zum Entleeren einer Knotengruppe findest du auf der Kubernetes-Website unter Einen Knoten sicher entleeren.

Es ist keine bewährte Methode, die EC2-Auto-Scaling-Gruppe, die du der verwalteten Knotengruppe zugeordnet hast, manuell auf den neuesten Stand zu bringen. Führe nur manuelle Änderungen durch, um zuvor vorgenommene manuelle Änderungen rückgängig zu machen.

Ec2LaunchTemplateVersionMismatch

Die Fehlermeldung Ec2LaunchTemplateVersionMismatch wird angezeigt, wenn die Version der EC2-Auto-Scaling-Gruppenstartvorlage der verwalteten Knotengruppe nicht mit der Version übereinstimmt, die Amazon EKS erstellt hat. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„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 stellt verwaltete Knotengruppen immer mit einer verwalteten Startvorlage bereit. Wenn du keine Startvorlage bereitstellst, erstellt Amazon EKS automatisch eine Vorlage mit den Standardwerten deines Kontos. Es wird nicht empfohlen, die automatisch generierte Vorlage zu ändern. Bestehende Knotengruppen, die keine benutzerdefinierte Startvorlage verwenden, können nicht direkt aktualisiert werden. Stattdessen musst du eine neue Knotengruppe mit einer benutzerdefinierten Startvorlage erstellen.

Um die Fehlermeldung Ec2LaunchTemplateVersionMismatch bei einer benutzerdefinierte Startvorlage zu beheben, aktualisiere die Version der Startvorlage auf die erwartete Version der Startvorlage, die in der Fehlermeldung angegeben ist.

Informationen zu den zulässigen Aktionen in einer Startvorlage für Amazon-EKS-Knotengruppen findest du unter Grundlagen der Konfiguration von Startvorlagen.

AsgInstanceLaunchFailures

Die Fehlermeldung AsgInstanceLaunchFailures wird angezeigt, wenn deine EC2-Auto-Scaling-Gruppe keine Instances starten kann. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„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.“

Dieser Fehler tritt in der Regel dann auf, wenn die Spot-Instance-Kapazität für deinen angeforderten Instance-Typ nicht ausreicht. Es hat sich bewährt, eine Mischung aus Instance-Typen und -Familien aus verschiedenen Spot-Instance-Pools zu verwenden, um Kapazität sicherzustellen. Weitere Informationen findest du unter Wie starte ich Spot Instances mithilfe von Knotengruppen, die von Amazon EKS verwaltet werden, und behebe Fehler?

InsufficientFreeAddresses

Die Fehlermeldung InsufficientFreeAddresses tritt auf, wenn ein Subnetz, das deiner verwalteten Knotengruppe zugeordnet ist, über unzureichende verfügbare IP-Adressen für neue Knoten verfügt. Du erhältst eine Fehlermeldung ähnlich dem folgenden Beispiel:

„InsufficientFreeAddresses - Amazon AutoScaling was unable to launch instances because there are not enough free addresses in the subnet associated with your AutoScaling group(s).“

Um dieses Problem zu beheben, vergewissere dich, dass du über genügend IP-Adressen in den Subnetzen verfügst, die der verwalteten Knotengruppe zugeordnet sind. Weitere Informationen findest du unter Optimierung der IP-Adressnutzung.

IamInstanceProfileNotFound oder IamNodeRoleNotFound

Die Fehlermeldung IamInstanceProfileNotFound oder die Fehlermeldung IamNodeRoleNotFound wird angezeigt, wenn du die Rolle oder das Profil von AWS Identity and Access Management (IAM) löschst, das du der verwalteten Knotengruppe zugeordnet hast. Erstelle, um dieses Problem zu beheben, eine neue IAM-Rolle oder ein neues IAM-Profil mit demselben Namen und denselben Einstellungen wie die gelöschte Rolle oder das gelöschte Profil.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Monat