Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Fehlerbehebung bei lokalen Amazon-EKS-Clustern in AWS Outposts
In diesem Thema werden einige häufige Fehler behandelt, die bei der Verwendung lokaler Cluster auftreten können, und wie Sie diese beheben können. Lokale Cluster ähneln Amazon-EKS-Clustern in der Cloud, es gibt jedoch einige Unterschiede in der Art und Weise, wie sie von Amazon EKS verwaltet werden.
Wichtig
Beenden Sie niemals eine verwaltete lokale EKS-Cluster in Kubernetes-Steuerebenen-Instance, die in Outpost ausgeführt wird, es sei denn, Sie werden ausdrücklich vom AWS Support dazu aufgefordert. Das Beenden dieser Instances stellt ein Risiko für die Verfügbarkeit des lokalen Cluster-Services dar, einschließlich des Verlusts des lokalen Clusters, falls mehrere Instances gleichzeitig beendet werden. Lokale EKS-Cluster in Kubernetes-Steuerebenen-Instances werden auf der EC2-Instance-Konsole durch das Tag eks-local:controlplane-name identifiziert.
Lokale Cluster werden über die Amazon-EKS-API erstellt, aber asynchron ausgeführt. Dies bedeutet, dass Anforderungen an die Amazon-EKS-API für lokale Cluster sofort zurückgegeben werden. Diese Anforderungen können jedoch erfolgreich sein, aufgrund von Eingabevalidierungsfehlern schnell scheitern oder fehlschlagen und beschreibende Validierungsfehler aufweisen. Dieses Verhalten ähnelt dem der Kubernetes-API.
Lokale Cluster wechseln nicht in einen FAILED-Status. Amazon EKS versucht, den Cluster-Status kontinuierlich mit dem vom Benutzer angeforderten gewünschten Status abzugleichen. Infolgedessen kann ein lokaler Cluster für längere Zeit im CREATING-Status verbleiben, bis das zugrunde liegende Problem behoben ist.
Probleme mit lokalen Clustern können mit dem Amazon-EKS–AWSCLI-Befehl describe-cluster ermittelt werden. Probleme mit lokalen Clustern werden durch das cluster.health-Feld der Antwort des describe-cluster-Befehls angezeigt. Die in diesem Feld enthaltene Meldung enthält einen Fehlercode, eine beschreibende Meldung und zugehörige Ressourcen-IDs. Diese Informationen sind nur über die Amazon-EKS-API und AWS CLI verfügbar. Ersetzen Sie im folgenden Beispiel my-cluster durch den Namen Ihres lokalen Clusters.
aws eks describe-cluster --name my-cluster --query 'cluster.health'
Eine Beispielausgabe sieht wie folgt aus.
{ "issues": [ { "code": "ConfigurationConflict", "message": "The instance type 'm5.large' is not supported in Outpost 'my-outpost-arn'.", "resourceIds": [ "my-cluster-arn" ] } ] }
Wenn das Problem nicht behoben werden kann, müssen Sie möglicherweise den lokalen Cluster löschen und einen neuen erstellen. Versuchen Sie beispielsweise, einen Cluster mit einem Instance-Typ bereitzustellen, der in Ihrem Outpost nicht verfügbar ist. Die folgende Tabelle enthält allgemeine Fehler im Zusammenhang mit der Integrität.
| Fehlerszenario | Code | Fehlermeldung | ResourceIds |
|---|---|---|---|
|
Die bereitgestellten Subnetze konnten nicht gefunden werden. |
|
|
Alle bereitgestellten Subnetz-IDs |
|
Bereitgestellte Subnetze gehören nicht zur selben VPC. |
|
|
Alle bereitgestellten Subnetz-IDs |
|
Einige bereitgestellte Subnetze gehören nicht zum angegebenen Outpost. |
|
|
Problematische Subnetz-ID |
|
Einige bereitgestellte Subnetze gehören zu keinem Outpost. |
|
|
Problematische Subnetz-ID |
|
Einige bereitgestellte Subnetze verfügen nicht über genügend freie Adressen, um elastische Netzwerkschnittstellen für Instances der Steuerebene zu erstellen. |
|
|
Problematische Subnetz-ID |
|
Der angegebene Instance-Typ der Steuerebene wird von Ihrem Outpost nicht unterstützt. |
|
|
Cluster-ARN |
|
Sie haben eine Amazon-EC2-Instance auf der Steuerebene beendet oder |
|
|
Cluster-ARN |
|
Sie verfügen über unzureichende Kapazität auf Ihrem Outpost. Dies kann auch bei der Erstellung eines Clusters auftreten, wenn ein Outpost von der AWS-Region getrennt wird |
|
|
Cluster-ARN |
|
Ihr Konto hat das Kontingent Ihrer Sicherheitsgruppe überschritten. |
|
Von Amazon-EC2-API zurückgegebene Fehlermeldung |
Ziel-VPC-ID |
|
Ihr Konto hat Ihr Kontingent für die elastische Netzwerkschnittstelle überschritten. |
|
Von Amazon-EC2-API zurückgegebene Fehlermeldung |
Ziel-Subnetz-ID |
|
Instances der Steuerebene konnten nicht über AWS Systems Manager erreicht werden. Informationen zur Lösung finden Sie unter Steuerebenen-Instances sind über AWS Systems Manager nicht erreichbar. |
|
Amazon-EKS-Steuerebene-Instances sind nicht über SSM erreichbar. Bitte überprüfen Sie Ihre SSM- und Netzwerkkonfiguration und lesen Sie die Dokumentation zur Fehlerbehebung bei EKS on Outposts. |
Amazon-EC2-Instance-IDs |
|
Beim Abrufen von Details für eine verwaltete Sicherheitsgruppe oder eine elastische Netzwerkschnittstelle ist ein Fehler aufgetreten. |
Basierend auf dem Amazon-EC2-Client-Fehlercode. |
Von Amazon-EC2-API zurückgegebene Fehlermeldung |
Alle verwalteten Sicherheitsgruppen-IDs |
|
Beim Autorisieren oder Widerrufen von Eingangsregeln für Sicherheitsgruppen ist ein Fehler aufgetreten. Dies gilt sowohl für die Sicherheitsgruppen des Clusters als auch der Steuerebene. |
Basierend auf dem Amazon-EC2-Client-Fehlercode. |
Von Amazon-EC2-API zurückgegebene Fehlermeldung |
Problematische Sicherheitsgruppen-ID |
|
Beim Löschen einer elastischen Netzwerkschnittstelle für eine Instance der Steuerebene ist ein Fehler aufgetreten. |
Basierend auf dem Amazon-EC2-Client-Fehlercode. |
Von Amazon-EC2-API zurückgegebene Fehlermeldung |
Problematische ID der Elastic-Network-Schnittstelle |
In der folgenden Tabelle sind Fehler von anderen AWS-Services aufgeführt, die im Integritätsfeld der describe-cluster-Reaktion angezeigt werden.
| Amazon-EC2-Fehlercode | Code für Cluster-Integritätsprobleme | Beschreibung |
|---|---|---|
|
|
|
Dieser Fehler kann aus einer Vielzahl von Gründen auftreten. Der häufigste Grund ist, dass Sie versehentlich ein Tag entfernt haben, das der Service verwendet, um die Richtlinie für die mit dem Service verknüpfte Rolle von der Steuerebene herabzustufen. Wenn dies auftritt, kann Amazon EKS diese AWS-Ressourcen nicht mehr verwalten und überwachen. |
|
|
|
Dieser Fehler kann aus einer Vielzahl von Gründen auftreten. Der häufigste Grund ist, dass Sie versehentlich ein Tag entfernt haben, das der Service verwendet, um die Richtlinie für die mit dem Service verknüpfte Rolle von der Steuerebene herabzustufen. Wenn dies auftritt, kann Amazon EKS diese AWS-Ressourcen nicht mehr verwalten und überwachen. |
|
|
|
Dieser Fehler tritt auf, wenn die Subnetz-ID für die Eingangsregeln einer Sicherheitsgruppe nicht gefunden werden kann. |
|
|
|
Dieser Fehler tritt auf, wenn die Berechtigungen für die Eingangsregeln einer Sicherheitsgruppe nicht korrekt sind. |
|
|
|
Dieser Fehler tritt auf, wenn die Gruppe der Eingangsregeln einer Sicherheitsgruppe nicht gefunden werden kann. |
|
|
|
Dieser Fehler tritt auf, wenn die Netzwerkschnittstellen-ID für die Eingangsregeln einer Sicherheitsgruppe nicht gefunden werden kann. |
|
|
|
Dieser Fehler tritt auf, wenn das Kontingent der Subnetzressourcen überschritten wird. |
|
|
|
Dieser Fehler tritt auf, wenn das Kapazitätskontingent des Außenpostens überschritten wird. |
|
|
|
Dieser Fehler tritt auf, wenn das Kontingent der elastischen Netzwerkschnittstelle überschritten wird. |
|
|
|
Dieser Fehler tritt auf, wenn das Kontingent der Sicherheitsgruppe überschritten wird. |
|
|
|
Dies wird beim Erstellen einer Amazon-EC2-Instance in einem neuen Konto beobachtet. Die Fehlermeldung könnte ähnlich wie die folgende lauten: „ |
|
|
|
Amazon EC2 gibt diesen Fehlercode zurück, wenn der angegebene Instance-Typ in dem Outpost nicht unterstützt wird. |
|
Alle anderen Fehler |
|
Keine |
Lokale Cluster erfordern andere Berechtigungen und Richtlinien als Amazon-EKS-Cluster, die in der Cloud gehostet werden. Wenn die Erstellung eines Clusters fehlschlägt und ein InvalidPermissions-Fehler auftritt, überprüfen Sie, ob die von Ihnen verwendete Cluster-Rolle an die verwaltete Richtlinie AmazonEKSLocalOutpostClusterPolicy angefügt ist. Alle anderen API-Aufrufe erfordern dieselben Berechtigungen wie Amazon-EKS-Cluster in der Cloud.
Die Zeit, die zum Erstellen eines lokalen Clusters benötigt wird, hängt von mehreren Faktoren ab. Zu diesen Faktoren gehören Ihre Netzwerkkonfiguration, die Outpost-Konfiguration und die Konfiguration des Clusters. Im Allgemeinen wird ein lokaler Cluster erstellt und wechselt innerhalb von 15–20 Minuten in den ACTIVE-Status. Wenn ein lokaler Cluster im CREATING-Status bleibt, können Sie describe-clusteraufrufen, um Informationen über die Ursache im cluster.health-Ausgabefeld abzurufen.
Die am häufigsten auftretenden Probleme sind:
-
Ihr Cluster kann keine Verbindung zur Steuerebenen-Instance aus der AWS-Region herstellen, in der sich Systems Manager befindet. Sie können dies überprüfen, indem Sie
aws ssm start-session --targetvon einem Bastion-Host in der Region aufrufen. Wenn dieser Befehl nicht funktioniert, überprüfen Sie, ob Systems Manager auf der Instance der Steuerebene ausgeführt wird. Eine andere Möglichkeit besteht darin, den Cluster zu löschen und ihn dann neu zu erstellen.instance-id -
Die Steuerebenen-Instances können aufgrund von KMS-Schlüsselberechtigungen für EBS-Volumes nicht erstellt werden. Bei benutzerverwalteten KMS-Schlüsseln für verschlüsselte EBS-Volumes werden die Steuerebenen-Instances beendet, wenn auf den Schlüssel nicht zugegriffen werden kann. Wenn die Instances beendet werden, wechseln Sie entweder zu einem von AWS verwalteten KMS-Schlüssel oder stellen Sie sicher, dass Ihre benutzerverwaltete Schlüsselrichtlinie der Cluster-Rolle die erforderlichen Berechtigungen gewährt.
-
Instances auf der Steuerebene von Systems Manager haben möglicherweise keinen Zugriff auf das Internet. Überprüfen Sie, ob das Subnetz, das Sie beim Erstellen des Clusters angegeben haben, über ein NAT-Gateway und eine VPC mit einem Internet-Gateway verfügt. Verwenden Sie VPC Reachability Analyzer, um zu überprüfen, ob die Instance der Steuerebene das Internet-Gateway erreichen kann. Weitere Informationen finden Sie unter Erste Schritte mit VPC Reachability Analyzer.
-
Der von Ihnen angegebene Rollen-ARN enthält keine Richtlinien. Prüfen Sie, ob die verwaltete Richtlinie AWS managed policy: AmazonEKSLocalOutpostClusterPolicy aus der Rolle entfernt wurde. Dies kann auch auftreten, wenn ein AWS-CloudFormation-Stack falsch konfiguriert ist.
-
Alle bereitgestellten Subnetze müssen demselben Outpost zugeordnet sein und sich gegenseitig erreichen. Wenn beim Erstellen eines Clusters mehrere Subnetze angegeben werden, versucht Amazon EKS, die Instances der Steuerebene auf mehrere Subnetze zu verteilen.
-
Amazon-EKS-verwaltete Sicherheitsgruppen werden auf die Elastic-Network-Schnittstelle angewendet. Andere Konfigurationselemente wie NACL-Firewall-Regeln könnten jedoch mit den Regeln für die elastische Netzwerkschnittstelle in Konflikt geraten.
VPC- und Subnetz-DNS-Konfiguration ist falsch konfiguriert oder fehlt
Überprüfen Sie die Erstellung einer VPC und von Subnetzen für Amazon-EKS-Cluster in AWS Outposts.
Amazon EKS aktualisiert automatisch alle vorhandenen lokalen Cluster auf die neuesten Plattformversionen für die entsprechende Kubernetes- Nebenversion. Weitere Informationen zu Plattformversionen finden Sie unter Plattformversionen von Kubernetes und Amazon EKS für AWS Outposts kennenlernen.
Während einer automatischen Einführung der Plattformversion ändert sich der Cluster-Status zu UPDATING. Der Aktualisierungsprozess besteht aus dem Austausch aller Kubernetes- Steuerebenen-Instances durch neue Instances, welche die neuesten Sicherheits-Patches und Fehlerkorrekturen enthalten, die für die jeweilige Kubernetes- Nebenversion veröffentlicht wurden. Im Allgemeinen dauert ein Aktualisierungsprozess der lokalen Cluster-Plattform weniger als 30 Minuten, und der Cluster kehrt anschließend in den ACTIVE-Status zurück Wenn ein lokaler Cluster über einen längeren Zeitraum in diesem UPDATING-Status verbleibt, können Sie describe-cluster aufrufen, um im cluster.health-Ausgabefeld nach Informationen zur Ursache zu suchen.
Amazon EKS stellt sicher, dass mindestens 2 von 3 Kubernetes-Steuerebenen-Instances fehlerfrei und betriebsbereit sind, um die lokale Cluster-Verfügbarkeit aufrechtzuerhalten und Service-Unterbrechungen zu vermeiden. Wenn ein lokaler Cluster im UPDATING-Status hängen bleibt, liegt dies normalerweise daran, dass ein Infrastruktur- oder Konfigurationsproblem vorliegt, das die Gewährleistung der Mindestverfügbarkeit von zwei Instances verhindert, falls der Prozess fortgesetzt wird. Daher wird der Aktualisierungsvorgang angehalten, um den lokalen Cluster-Service vor Unterbrechungen zu schützen.
Es ist wichtig, einen lokalen Cluster, der in einem UPDATING-Status hängen geblieben ist, zu überprüfen und die Ursache zu beheben. So kann der Aktualisierungsprozess abgeschlossen und der lokale Cluster mit der hohen Verfügbarkeit von drei Kubernetes-Steuerebenen-Instances zurück in ACTIVE wiederhergestellt werden.
Beenden Sie keine verwalteten lokalen EKS-Cluster von Kubernetes-Instances in Outposts, es sei denn, Sie werden ausdrücklich vom AWS Support dazu aufgefordert. Dies ist besonders wichtig für lokale Cluster, die in einem bestimmten UPDATING-Status hängen geblieben sind, da eine hohe Wahrscheinlichkeit besteht, dass ein anderer Steuerebenen-Knoten nicht vollständig fehlerfrei ist. Das Beenden der falschen Instances kann zu einer Service-Unterbrechung und dem Risiko eines Datenverlusts im lokalen Cluster führen.
Die am häufigsten auftretenden Probleme sind:
-
Eine oder mehrere Steuerebenen-Instances können keine Verbindung zum System Manager herstellen, da sich die Netzwerkkonfiguration seit der Erstellung des lokalen Clusters geändert hat. Sie können dies überprüfen, indem Sie
aws ssm start-session --targetvon einem Bastion-Host in der Region aufrufen. Wenn dieser Befehl nicht funktioniert, überprüfen Sie, ob Systems Manager auf der Instance der Steuerebene ausgeführt wird.instance-id -
Neue Steuerebenen-Instances können aufgrund von KMS-Schlüsselberechtigungen für EBS-Volumes nicht erstellt werden. Bei benutzerverwalteten KMS-Schlüsseln für verschlüsselte EBS-Volumes werden die Steuerebenen-Instances beendet, wenn auf den Schlüssel nicht zugegriffen werden kann. Wenn die Instances beendet werden, wechseln Sie entweder zu einem von AWS verwalteten KMS-Schlüssel oder stellen Sie sicher, dass Ihre benutzerverwaltete Schlüsselrichtlinie der Cluster-Rolle die erforderlichen Berechtigungen gewährt.
-
Instances auf der Steuerebene von Systems Manager haben möglicherweise den Zugriff auf das Internet verloren. Überprüfen Sie, ob das Subnetz, das Sie beim Erstellen des Clusters angegeben haben, über ein NAT-Gateway und eine VPC mit einem Internet-Gateway verfügt. Verwenden Sie VPC Reachability Analyzer, um zu überprüfen, ob die Instance der Steuerebene das Internet-Gateway erreichen kann. Weitere Informationen finden Sie unter Erste Schritte mit VPC Reachability Analyzer. Wenn Ihre privaten Netzwerke über keine ausgehende Internetverbindung verfügen, stellen Sie sicher, dass alle erforderlichen VPC-Endpunkte und Gateway-Endpunkte weiterhin im regionalen Subnetz Ihres Clusters vorhanden sind (siehe Subnetz-Zugang zu AWS-Services).
-
Der von Ihnen angegebene Rollen-ARN enthält keine Richtlinien. Prüfen Sie, ob die von AWS verwaltete Richtlinie: AmazonEKSLocalOutpostClusterPolicy nicht aus der Rolle entfernt wurde.
-
Bei einer der neuen Kubernetes-Steuerebenen-Instances ist möglicherweise ein unerwarteter Bootstrapping-Fehler aufgetreten. Reichen Sie ein Ticket beim AWS Support Center
ein, um weitere Anweisungen zur Fehlerbehebung und Protokollerfassung in diesem Ausnahmefall zu erhalten.
-
AMI-Probleme:
-
Sie verwenden ein nicht unterstütztes AMI. Sie müssen v20220620
oder höher für den Vorgang Knoten mit optimierten Amazon-Linux-AMIs erstellen für Amazon-EKS-optimiertes Amazon Linux verwenden. -
Wenn Sie Ihre Knoten mit einer AWS-CloudFormation-Vorlage erstellt haben, stellen Sie sicher, dass diese keine nicht unterstützte AMI verwendet hat.
-
-
AWS IAM Authenticator
ConfigMapfehlt – Wenn dieser fehlt, müssen Sie es erstellen. Weitere Informationen finden Sie unter Anwenden von aws-authConfigMap auf Ihren Cluster. -
Die falsche Sicherheitsgruppe wird verwendet – Stellen Sie sicher, dass Sie
eks-cluster-sg-für die Sicherheitsgruppe Ihrer Worker-Knoten verwenden. Die ausgewählte Sicherheitsgruppe wird von AWS CloudFormation geändert, um bei jeder Verwendung des Stacks eine neue Sicherheitsgruppe zuzulassen.cluster-name-uniqueid -
Unerwartete VPC-Schritte für private Links – Falsche CA-Daten (
--b64-cluster-ca) oder API-Endpunkt (--apiserver-endpoint) sind bestanden.
Wenn ein Außenposten von der AWS-Region getrennt wird, der er zugeordnet ist, funktioniert der Kubernetes-Cluster wahrscheinlich weiterhin normal. Wenn der Cluster jedoch nicht ordnungsgemäß funktioniert, befolgen Sie die Schritte zur Fehlerbehebung unter Vorbereiten lokaler Amazon-EKS-Cluster in AWS Outposts für Netzwerkunterbrechungen. Wenn Probleme auftreten, wenden Sie sich an den AWS Support. AWS Der Support kann Sie beim Herunterladen und Ausführen eines Tools zur Protokollerfassung unterstützen. Auf diese Weise können Sie Protokolle von den Steuerebenen-Instances Ihres Kubernetes-Clusters erfassen und zur weiteren Untersuchung an den AWS Support senden.
Wenn die Amazon-EKS-Steuerebenen-Instances nicht über AWS Systems Manager (Systems Manager) erreichbar sind, zeigt Amazon EKS den folgenden Fehler für Ihren Cluster an.
Amazon EKS control plane instances are not reachable through SSM. Please verify your SSM and network configuration, and reference the EKS on Outposts troubleshooting documentation.
Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre VPC und Subnetze die Anforderungen unter Erstellen einer VPC und von Subnetzen für Amazon-EKS-Cluster in AWS Outposts erfüllen und dass Sie die Schritte unter Einrichtung des Sitzungsmanagers im Benutzerhandbuch zu AWS Systems Manager durchgeführt haben.