Wie behebe ich Fehler bei der Clustererstellung in Amazon EKS?

Lesedauer: 4 Minute
0

Ich erhalte Dienstfehler, wenn ich einen Amazon Elastic Kubernetes Service (Amazon EKS)-Cluster mit AWS CloudFormation oder eksctl bereitstelle.

Kurze Beschreibung

Erwägen Sie die folgenden Optionen zur Fehlerbehebung:

  • Sie erhalten eine Fehlermeldung, die besagt, dass Ihre Zielverfügbarkeitszone nicht über genügend Kapazität zur Unterstützung des Clusters verfügt. Führen Sie die Schritte im Abschnitt Cluster in einer anderen Availability Zone neu erstellen aus.
  • Sie erhalten eine Fehlermeldung, die besagt, dass die Ressourcenerstellung fehlgeschlagen ist. Führen Sie die Schritte im Abschnitt Bestätigen Sie, dass Sie über die richtigen IAM-Berechtigungen zum Erstellen eines Clusters verfügen, oder im Abschnitt Überwachen Sie Ihre Amazon VPC-Ressourcen aus.
  • Sie erhalten eine Fehlermeldung, dass die Erstellung beim Warten auf Worker-Knoten abgelaufen ist. Führen Sie die Schritte im Abschnitt Bestätigen Sie, dass Ihre Worker-Knoten den API-Endpunkt der Steuerungsebene erreichen können aus.

Behebung

Erstellen Sie den Cluster in einer anderen Availability Zone neu

Wenn Sie Steuerungsebeneninstanzen in einer Availability Zone mit begrenzter Kapazität starten, erhalten Sie möglicherweise eine Fehlermeldung ähnlich der folgenden:

Cannot create cluster 'sample-cluster' because us-east-1d, the targeted availability zone, does not currently have sufficient capacity to support the cluster. Retry and choose from these availability zones: us-east-1a, us-east-1b, us-east-1c

Um den vorherigen Fehler zu beheben, erstellen Sie den Cluster erneut mit den empfohlenen Availability Zones aus der Fehlermeldung.

Wenn Sie den Cluster mithilfe von CloudFormation bereitstellen, fügen Sie im Parameter Subnets Subnetzwerte hinzu, die den Availability Zones entsprechen.

-oder-

Wenn Sie eksctl verwenden, verwenden Sie das Flag**--zones**, um die Werte für die verschiedenen Availability Zones hinzuzufügen. Zum Beispiel:

$ eksctl create cluster 'sample-cluster' --zones us-east-1a,us-east-1b,us-east-1c

**Hinweis:**Ersetzen Sie sample-cluster durch Ihren Clusternamen. Ersetzen Sie us-east-1a, us-east-1b und us-east-1c durch Ihre Availability Zones.

Bestätigen Sie, dass Sie über die richtigen IAM-Berechtigungen zum Erstellen eines Clusters verfügen

Stellen Sie beim Erstellen eines Clusters sicher, dass Sie über die richtigen AWS Identity and Access Management (IAM)-Berechtigungen verfügen. Dazu gehören die korrekten Richtlinien für die Amazon EKS-Dienst-IAM-Rolle.

Sie können eksctl verwenden, um die erforderlichen Ressourcen für Ihren Cluster zu erstellen, z. B. die IAM-Rollen und Sicherheitsgruppen. Die erforderlichen Mindestberechtigungen hängen von der eksctl-Konfiguration ab, die Sie starten. Weitere Informationen finden Sie unter Problemlösungen der eksctl GitHub-Community.

Wenn Ihr Cluster Probleme mit IAM-Berechtigungen hat, erhalten Sie möglicherweise eine Fehlermeldung in eksctl, die der folgenden ähnelt:

API: iam:CreateRole User: arn:aws:iam::your-account-id:user/your-user-name is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::your-account-id:role/eksctl-newtest22-cluster-ServiceRole-10NXBYLSN4ULP

Um den vorherigen Fehler zu beheben, überprüfen Sie die IAM-Mindestrichtlinien für die Ausführung von eksctl-Anwendungsfällen auf der eksctl-Website. Weitere Informationen finden Sie unter Identitäts- und Zugriffsmanagement für Amazon EKS und Wie kann ich Fehler bei Zugriffsverweigerungen oder unautorisierten Vorgängen mit einer IAM-Richtlinie beheben?

Überwachen Sie Ihre Amazon VPC-Ressourcen

Wenn Sie einen Cluster erstellen, erstellt eksctl standardmäßig eine neue Amazon Virtual Private Cloud (Amazon VPC). Wenn Sie nicht möchten, dass eksctl eine neue Amazon VPC erstellt, müssen Sie Ihre benutzerdefinierte Amazon VPC und Subnetze in der Konfigurationsdatei angeben.

Wenn Ihr Cluster Probleme mit Ihren Amazon VPC-Grenzwerten hat, erhalten Sie möglicherweise die folgende Fehlermeldung:

The maximum number of VPCs has been reached. (Service: AmazonEC2; Status Code: 400; Error Code: VpcLimitExceeded; Request ID: a12b34cd-567e-890-123f-ghi4j56k7lmn)

Um den oben genannten Fehler zu beheben, überwachen Sie Ihre Ressourcen. Überprüfen Sie beispielsweise die Anzahl der Amazon VPCs in Ihrer AWS-Region oder die Internet-Gateways pro Region, in der Sie den Cluster erstellen. Weitere Informationen finden Sie unter Amazon VPC-Kontingente.

Bei Problemen im Zusammenhang mit Ressourcenbeschränkungen hinsichtlich der Anzahl der Amazon VPC-Ressourcen in Ihrer Region ziehen Sie eine der folgenden Optionen in Betracht:

(Option 1) Verwenden Sie eine vorhandene Amazon VPC, um Ressourcenbeschränkungen zu überwinden

Erstellen Sie eine Konfigurationsdatei, die die Amazon-VPC und die Subnetze angibt, in denen Sie die Worker-Knoten Ihres Clusters bereitstellen möchten:

$ eksctl create cluster sample-cluster -f cluster.yaml

-oder-

(Option 2) Beantragen Sie eine Erhöhung der Servicekontingente, um Ressourcenbeschränkungen zu überwinden

Fordern Sie eine Erhöhung des Dienstkontingents für die Ressourcen in den CloudFormation-Stack-Ereignissen des Clusters an, den eksctl bereitgestellt hat.

Bestätigen Sie, dass Ihre Worker-Knoten den API-Endpunkt der Steuerungsebene erreichen können

Wenn eksctl Ihren Cluster bereitstellt, wartet es darauf, dass die gestarteten Worker-Knoten dem Cluster beitreten und den Status Bereit erreichen. Wenn Ihre Worker-Knoten die Steuerungsebene nicht erreichen oder eine ungültige IAM-Rolle haben, erhalten Sie möglicherweise die folgende Fehlermeldung:

timed out (after 25m0s) waiting for at least 4 nodes to join the cluster and become ready in "eksfbots-ng1"

Um den vorherigen Fehler zu beheben, bringen Sie Ihre Worker-Knoten dazu, dem Cluster beizutreten, und vergewissern Sie sich, dass sich Ihre Worker-Knoten im Status Bereit befinden.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren