Wie kann ich Fehler in meiner Amazon EKS-Umgebung beheben, nachdem ich einen Cluster erstellt habe?
Ich erhalte Fehler in meiner Amazon-Elastic-Kubernetes-Service-Umgebung (Amazon EKS), nachdem ich einen Cluster erstellt habe.
Kurzbeschreibung
Sie können den AWSPremiumSupport-TroubleshootEKSCluster Automatisierungs-Workflow verwenden, um häufige Fehler in Ihrer Amazon EKS-Umgebung zu beheben. Der Workflow bietet einen detaillierten Bericht, der Fehler, Warnungen und Links zu den von Amazon Web Services (AWS) empfohlenen bewährten Methoden auflistet.
Hinweis: Um den AWSPremiumSupport-TroubleshootEKSCluster-Automatisierungs-Workflow verwenden zu können, müssen Sie einen Enterprise- oder Business-Support-Plan abonniert haben.
Sie können den AWSPremiumSupport-TroubleshootEKSClusterAutomatisierungs-Workflow verwenden, wenn eines der Probleme auftritt:
- Ihr Kubernetes-Cluster-Autoscaler funktioniert nicht.
- Ihr interner Load-Balancer wird nicht in privaten oder öffentlichen Subnetzen erstellt.
- Sie wissen nicht, ob Ihre Worker-Knoten das neueste Amazon Machine Image (AMI) verwenden.
- Sie erhalten Zugriff verweigert Fehler in Ihren AWS-Knoten-Pods.
- Sie können keine Amazon-Elastic-Container-Registry-Images (Amazon ECR) abrufen.
- Ihre verwalteten Knoten stabilisieren sich nicht oder Ihre selbstverwalteten Knoten treten keinem Cluster bei.
Der AWS PremiumSupport-TroubleshootEKSCluster- Automatisierungs-Workflow führt diese Überprüfungen aus:
- Überprüft Auto-Scaling-Gruppen auf Cluster-AutoScaler-Subnet-Tags für interne und internetorientierte Load-Balancer und Worker-Sicherheitsgruppen.
Wichtig: Wenn Ihren Worker-Knoten mehr als eine Sicherheitsgruppe zugeordnet ist, müssen Sie ein Tag auf eine Ihrer Sicherheitsgruppen anwenden. Setzen Sie den Schlüssel des Tags auf kubernetes.io/cluster/your-cluster-name. Setzen Sie den Wert auf im Besitz. Dieses Tag ist optional, wenn nur eine Sicherheitsgruppe Ihren Worker-Knoten zugeordnet ist. - Überprüft Worker-Knoten auf das neueste AMI.
- Überprüft Sicherheitsgruppenregeln auf Mindest- und empfohlene Einstellungen. Beispielsweise prüft der Workflow auf Ein- und Ausstieg aus der Sicherheitsgruppe des Clusters (d. h. alle an den Cluster angehängten Sicherheitsgruppen) und von der Worker-Sicherheitsgruppe.
- Überprüft Konfigurationen der benutzerdefinierten Netzwerkzugriffssteuerungsliste (Netzwerk-ACL).
- Prüft AWS Identity-and-Access-Management (IAM) -Richtlinien auf Worker-Knoten, einschließlich der AmazonEKSWorkerNodePolicy und AmazonEC2ContainerRegistryReadOnly Richtlinien.
- Prüft, ob Worker-Knoten eine Verbindung zum Internet herstellen können, indem sie die Routentabellen der Subnetze überprüfen, in denen sie sich befinden.
Lösung
Machen Sie Ihre Worker-Knoten auffindbar
Um Ihre Arbeitsknoten auffindbar zu machen, verwenden Sie den AWSPremiumSupport-Troubleshootekscluster Automatisierungs-Workflow und Ihren Amazon-EKS-Cluster:
1. Öffnen Sie die Amazon-EC2-Konsole.
2. Wählen Sie im Navigationsbereich Instances aus.
3. Wählen Sie die Amazon-Elastic-Compute-Cloud-Instances (Amazon EC2) für Ihre Worker-Knoten aus, und wählen Sie dann die Registerkarte Tags.
4. Wählen Sie Tags hinzufügen/bearbeiten.
5. Geben Sie als Key****kubernetes.io/cluster/your-cluster-name ein. Geben Sie für Wert**„im Besitz“/„geteilt“** ein.
6. Wählen Sie Speichern aus.
Der AWS PremiumSupport-TroubleshootEKSCluster Automatisierungs-Workflow wird mit der folgenden Richtlinie ausgeführt. Diese Richtlinie muss Mindestberechtigungen für den Zugriff auf den Cluster enthalten. Auf den Cluster kann nur von AutomationAssumeRole zugegriffen werden.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSPremiumSupportTroubleshootEKSCluster", "Effect": "Allow", "Action": [ "eks:ListNodegroups", "eks:DescribeCluster", "eks:DescribeNodegroup", "iam:GetInstanceProfile", "iam:ListInstanceProfiles", "iam:ListAttachedRolePolicies", "autoscaling:DescribeAutoScalingGroups", "ec2:DescribeInstanceTypes", "ec2:DescribeInstances", "ec2:DescribeNatGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeNetworkAcls", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Sid": "GetPublicSSMParams", "Effect": "Allow", "Action": "ssm:GetParameter", "Resource": [ "arn:aws:ssm:*:*:parameter/aws/service/eks/optimized-ami/*/amazon-linux-2/recommended/image_id", "arn:aws:ssm:*:*:parameter/aws/service/ami-windows-latest/Windows_Server-2019-English-Core-EKS_Optimized-*/image_id", "arn:aws:ssm:*:*:parameter/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-EKS_Optimized-*/image_id", "arn:aws:ssm:*:*:parameter/aws/service/ami-windows-latest/Windows_Server-1909-English-Core-EKS_Optimized-*/image_id", "arn:aws:ssm:*:*:parameter/aws/service/eks/optimized-ami/*/amazon-linux-2-gpu/recommended/image_id" ] }, { "Sid": "UploadObjectToS3", "Effect": "Allow", "Action": [ "s3:GetBucketPolicyStatus", "s3:GetBucketAcl", "s3:PutObject" ], "Resource": [ "<BUCKET_ARN>", "<BUCKET_ARN>/AWSPremiumSupport-TroubleshootEKSCluster-*" ] } ] }
Führen Sie den Automatisierungs-Workflow von der AWS-Systems-Manager-Konsole aus.
1. Öffnen Sie die Systems-Manager-Konsole.
2. Wählen Sie im Navigationsbereich Automatisierung.
Hinweis: Wenn die System-Manager-Homepage zuerst geöffnet wird, wählen Sie das Menüsymbol, um den Navigationsbereich zu öffnen, und wählen Sie dann Automatisierung.
3. Wählen Sie Automatisierung ausführen aus.
4. Geben Sie im Suchfeld Automatisierungsdokument****AWSPremiumSupport-TroubleshootEKSCluster ein, und drücken Sie dann die Eingabetaste.
5. Wählen Sie in den Suchergebnissen AWSPremiumSupport-TroubleshootEKSCluster aus.
Hinweis: Der Eigentümer des Dokuments ist Amazon.
6. Stellen Sie auf der Registerkarte Dokumentbeschreibung sicher, dass die Dokumentversion zur Laufzeit auf Standardversion eingestellt ist.
7. Wählen Sie Weiter aus.
8. Wählen Sie im Abschnitt Automatisierungsdokument ausführen die Option Einfache Ausführung.
9. Stellen Sie im Abschnitt Eingabeparameter die folgenden Parameter ein:
Setzen Sie ClusterName auf den Namen des Clusters. Dieser Cluster muss in Ihrem AWS-Konto ausgeführt werden.
Stellen Sie AutomationAssumeRole auf die IAM-Rolle ein, die Sie für den Workflow verwenden möchten.
(Optional) Stellen Sie BucketName bei Bedarf auf den Amazon-Simple-Storage-Service-Bucket (Amazon S3) ein, in den Sie den Bericht hochladen möchten.
Hinweis: Wenn Sie AutomationAssumeRole angeben möchten, erstellen Sie eine IAM-Rolle und einen S3-Bucket, die für die Richtlinie gelten. Laden Sie dann den Bericht für die SSM-Automatisierung in Ihren eigenen S3-Bucket (BucketName) hoch.
10. Wählen Sie Ausführen aus.
11. Um den Fortschritt zu überwachen, wählen Sie die laufende Automatisierung und dann die Registerkarte Schritte.
12. Wenn der Prozess abgeschlossen ist, wählen Sie die Registerkarte Beschreibungen und dann Ausgabe anzeigen, um die Ergebnisse anzuzeigen.
Hinweis: Die Ergebnisse werden als Bericht angezeigt, der alle Fehler und Warnungen für Ihren Cluster auflistet.
Führen Sie den Automatisierungs-Workflow von der AWS CLI aus
Hinweis: Wenn Sie beim Ausführen von Befehlen von AWS Command Line Interface (AWS CLI) Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden. Erstellen Sie eine IAM-Rolle und einen S3-Bucket, die für die Richtlinie gelten, wenn Sie AutomationAssumeRole angeben und den Bericht in Ihren eigenen S3-Bucket (S3BucketName) hochladen möchten, um den Automatisierungs-Workflow auszuführen.
Wenn der Bericht in einem S3-Bucket sein soll, führen Sie diesen Befehl aus:
aws ssm start-automation-execution --document-name "AWSPremiumSupport-TroubleshootEKSCluster" --document-version "\$DEFAULT" --parameters '{"ClusterName":["your-eks-cluster"],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/eks-troubleshooter-role"],"S3BucketName":["your_bucket"]}' --region your_region
Wenn Sie den Bericht nicht in einen S3-Bucket hochladen möchten, führen Sie diesen Befehl aus:
aws ssm start-automation-execution --document-name "AWSPremiumSupport-TroubleshootEKSCluster" --document-version "\$DEFAULT" --parameters '{"ClusterName":["your-eks-cluster"],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/eks-troubleshooter-role"]}' --region your_region

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr