Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Anleitung zur Einrichtung (AWS CLI)
Dieses Handbuch führt Sie durch die Installation von Enhanced Container Insights (Classic) auf einem vorhandenen Amazon EKS-Cluster mithilfe von AWS CLI. Das Add-on stellt einen CloudWatch Agenten bereit DaemonSet , der Infrastrukturmetriken, Container-Protokolle und Leistungsdaten sammelt.
Wartungsmodus
Enhanced Container Insights (Classic) befindet sich im Wartungsmodus. Für neue Bereitstellungen sollten Sie Folgendes empfehlenOtel Container Insights (empfohlen).
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen.
-
Ein vorhandener Amazon EKS-Cluster, auf dem Kubernetes Version 1.25 oder höher ausgeführt wird
-
Plattformversion oder höher
eks.1 -
AWS CLI Version 2.12.0 oder höher
-
kubectlkonfiguriert für die Kommunikation mit Ihrem Zielcluster -
IAM-Berechtigungen:
eks:CreateAddoneks:DescribeAddon,iam:CreateServiceLinkedRoleiam:CreateRole, undiam:AttachRolePolicy -
Das auf Ihrem Cluster installierte EKS Pod Identity Agent-Add-On oder die konfigurierten IAM-Rollen für Dienstkonten (IRSA)
-
Ausgehender Internetzugang vom Cluster zu den Endpunkten CloudWatch
Schritt 1: Erstellen Sie die IAM-Rolle für das
Erstellen Sie eine IAM-Rolle, an die der CloudWatch Agent Daten senden kann. CloudWatch
Um die CloudWatch Agenten-IAM-Rolle zu erstellen
-
Führen Sie den folgenden Befehl aus, um die Rolle mit einer Vertrauensrichtlinie für EKS Pod Identity zu erstellen.
aws iam create-role \ --role-name EKS-CloudWatch-Agent-Role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] }] }' -
Hängen Sie die von
CloudWatchAgentServerPolicyverwaltete Richtlinie an die Rolle an.aws iam attach-role-policy \ --role-name EKS-CloudWatch-Agent-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Schritt 2: Erstellen Sie die Pod Identity-Zuordnung
Ordnen Sie die IAM-Rolle dem CloudWatch Agentendienstkonto in Ihrem Cluster zu.
So erstellen Sie die Pod Identity-Zuordnung
-
Führen Sie den folgenden Befehl aus.
cluster-nameErsetzen Sie es durch den Namen Ihres Amazon EKS-Clusters undaccount-iddurch Ihre AWS Konto-ID.aws eks create-pod-identity-association \ --cluster-namecluster-name\ --namespace amazon-cloudwatch \ --service-account cloudwatch-agent \ --role-arn arn:aws:iam::account-id:role/EKS-CloudWatch-Agent-Role
Schritt 3: Installieren Sie das Amazon CloudWatch Observability-Add-on
Installieren Sie das amazon-cloudwatch-observability Add-on auf Ihrem Cluster.
Um das Add-on zu installieren
-
Führen Sie den folgenden Befehl aus.
cluster-nameErsetzen Sie es durch den Namen Ihres Amazon EKS-Clusters.aws eks create-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --addon-versionv5.x.x-eksbuild.xv5.x.x-eksbuild.xErsetzen Sie es durch die neueste verfügbare v5.x-Version. Bei der Installation ohne--addon-versionInstallation wird die neueste Version (v6.2.0+) installiert, die die OTel-Pipeline anstelle von Classic aktiviert.
Schritt 4: Überprüfen Sie den Status des Add-ons
Bestätigen Sie, dass das Add-on erfolgreich installiert wurde.
Um den Status des Add-ons zu überprüfen
-
Führen Sie den folgenden Befehl aus.
cluster-nameErsetzen Sie ihn durch den Namen Ihres Amazon EKS-Clusters.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.status" \ --output textDie erwartete Ausgabe ist
ACTIVE.
Schritt 5: Bestätigen Sie, dass die Agenten-Pods ausgeführt werden
Stellen Sie sicher, dass die CloudWatch Agent-Pods im amazon-cloudwatch Namespace ausgeführt werden.
Um zu bestätigen, dass Agenten-Pods ausgeführt werden
-
Führen Sie den folgenden Befehl aus.
kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agentAlle Agenten-Pods müssen
Runningden Status anzeigen.
Überprüfen Sie die Daten in CloudWatch
Nachdem Sie die Einrichtung abgeschlossen haben, werden Container Insights-Daten CloudWatch innerhalb von 3 bis 5 Minuten angezeigt.
Um Container Insights-Daten zu überprüfen
-
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im Navigationsbereich Container Insights aus.
-
Vergewissern Sie sich, dass Metriken wie
node_cpu_utilizationund für Ihren Clusterpod_memory_utilizationangezeigt werden.
Fehlerbehebung
Verwenden Sie die folgenden Anleitungen, um häufig auftretende Probleme bei der Installation von Enhanced Container Insights (Classic) auf Amazon EKS zu lösen.
Add-on Der Status zeigt CREATE_FAILED oder DEGRADED
Symptom: Wenn Sie ausführenaws eks
describe-addon, wird im Status oder angezeigt. CREATE_FAILED DEGRADED
Ursache: Die Installation des Add-Ons ist aufgrund unzureichender IAM-Berechtigungen oder einer fehlenden Pod-Identitätszuordnung fehlgeschlagen.
Lösung: Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben.
-
Führen Sie den folgenden Befehl aus, um nach detaillierten Fehlerinformationen zu suchen. Ersetzen Sie
cluster-namemit dem Namen Ihres Clusters.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.health" -
Stellen Sie sicher, dass die IAM-Rolle vorhanden ist und dass sie
CloudWatchAgentServerPolicyangefügt ist. -
Stellen Sie sicher, dass die Pod-Identitätszuordnung auf den richtigen Namespace (
amazon-cloudwatch) und das richtige Dienstkonto (cloudwatch-agent) abzielt. -
Löschen Sie das fehlgeschlagene Add-on und installieren Sie es erneut, nachdem Sie das Problem behoben haben.
aws eks delete-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability
Metriken werden CloudWatch nach 5 Minuten nicht angezeigt
Symptom: Die Agenten-Pods zeigen Running den Status an, aber CloudWatch nach 5 Minuten werden keine Metriken angezeigt.
Ursache: Der Agent kann CloudWatch aufgrund von Netzwerkeinschränkungen oder falschen IAM-Berechtigungen keine Daten an diese senden.
Lösung: Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben.
-
Stellen Sie sicher, dass Ihre VPC-Sicherheitsgruppen und Netzwerk-ACLs ausgehenden HTTPS-Verkehr (Port 443) zu Endpunkten zulassen. CloudWatch
-
Überprüfen Sie die Agent-Protokolle auf Berechtigungsfehler oder Verbindungs-Timeouts.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=100 | grep -i "error\|timeout\|denied" -
Stellen Sie sicher, dass die
CloudWatchAgentServerPolicyRichtlinie an die IAM-Rolle angehängt ist und ob die Vertrauensrichtlinie dies zulässt.pods.eks.amazonaws.com
Agenten-Pods stecken in Ausstehend oder CrashLoopBackOff
Symptom: Bei der Ausführung wird kubectl get pods -n
amazon-cloudwatch für einen oder mehrere Pods der CrashLoopBackOff Status angezeigt. Pending
Ursache: Die Agent-Pods können aufgrund unzureichender Knotenressourcen, fehlgeschlagener Image-Pull-Vorgänge oder fehlender Berechtigungen nicht gestartet werden.
Lösung: Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben.
-
Überprüfen Sie die Pod-Ereignisse auf detaillierte Fehlermeldungen.
kubectl describe pod -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent -
Stellen Sie sicher, dass auf Ihren Knoten ausreichend CPU und Arbeitsspeicher für die Agent-Pods verfügbar sind.
-
Stellen Sie sicher, dass das EKS Pod Identity Agent-Add-on installiert ist und läuft.
kubectl get pods -n kube-system -l app.kubernetes.io/name=eks-pod-identity-agent
Nächste Schritte
Bereit für ein Upgrade? Eine schrittweise Anleitung zur Umstellung von Enhanced Container Insights (Classic) auf Otel Container Insights finden Sie unterMigrieren Sie von Enhanced Container Insights (Classic) zu oTEL Container Insights.