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)
Diese Anleitung 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 empfehlen Otel Container Insights (empfohlen) wir.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen.
-
Ein vorhandener Amazon EKS-Cluster mit Kubernetes Version 1.25 oder höher
-
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:CreateAddon,eks: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 Agent-Dienstkonto in Ihrem Cluster zu.
Um die Pod Identity-Zuordnung zu erstellen
-
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 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 durch die neueste verfügbare Version v5.x. Bei der Installation ohne--addon-versionwird die neueste Version (v6.2.0+) installiert, wodurch die oTEL-Pipeline anstelle von Classic aktiviert wird.
Schritt 4: Überprüfen Sie den Status des Add-ons
Vergewissern Sie sich, 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 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: Stellen Sie sicher, dass die Agent-Pods ausgeführt werden
Stellen Sie sicher, dass die CloudWatch Agent-Pods im amazon-cloudwatch Namespace ausgeführt werden.
Um zu überprüfen, ob die 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 die Container Insights-Daten CloudWatch innerhalb von 3 bis 5 Minuten angezeigt.
Um Container Insights-Daten zu verifizieren
-
Ö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: Beim Ausführen wird der Status aws eks
describe-addon oder angezeigt. CREATE_FAILED DEGRADED
Ursache: Die Installation des Add-ons ist aufgrund unzureichender IAM-Berechtigungen oder einer fehlenden Pod Identity-Zuordnung fehlgeschlagen.
Lösung: Gehen Sie wie folgt vor, 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
CloudWatchAgentServerPolicyangehängt ist. -
Stellen Sie sicher, dass die Pod Identity-Zuordnung 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 senden.
Lösung: Gehen Sie wie folgt vor, 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 Agentenprotokolle auf Berechtigungsfehler oder Verbindungstimeouts.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=100 | grep -i "error\|timeout\|denied" -
Stellen Sie sicher, dass die IAM-Rolle die
CloudWatchAgentServerPolicyRichtlinie angehängt hat und ob die Vertrauensrichtlinie dies zulässt.pods.eks.amazonaws.com
Agenten-Pods bleiben im Status „Ausstehend“ hängen oder CrashLoopBackOff
Symptom: Beim Ausführen wird kubectl get pods -n
amazon-cloudwatch für einen oder mehrere Pods der CrashLoopBackOff Status „PendingUnser“ angezeigt.
Ursache: Die Agenten-Pods können aufgrund unzureichender Knotenressourcen, fehlgeschlagener Image-Pulls oder fehlender Berechtigungen nicht gestartet werden.
Lösung: Gehen Sie wie folgt vor, 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 Ihre Knoten über ausreichend CPU und Arbeitsspeicher für die Agenten-Pods verfügen.
-
Stellen Sie sicher, dass das EKS Pod Identity Agent-Add-on installiert ist und ausgeführt wird.
kubectl get pods -n kube-system -l app.kubernetes.io/name=eks-pod-identity-agent
Nächste Schritte
Bereit für das 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.