Überprüfen der Voraussetzungen für Container Insights in CloudWatch
Bevor Sie Container Insights in Amazon EKS oder Kubernetes installieren, überprüfen Sie Folgendes: Diese Voraussetzungen gelten unabhängig davon, ob Sie den CloudWatch-Agenten oder AWS Distro for OpenTelemetry verwenden, um Container Insights auf Amazon-EKS-Clustern einzurichten.
-
Sie besitzen einen funktionsfähigen Amazon EKS oder Kubernetes-Cluster mit angefügten Knoten in einer der Regionen, die Container Insights für Amazon EKS und Kubernetes unterstützen. Eine Liste der unterstützten Regionen finden Sie unter Container Insights.
-
Sie haben
kubectlinstalliert und es wird ausgeführt. Weitere Informationen finden Sie unter Installieren vonkubectlim Amazon-EKS-Benutzerhandbuch. -
Wenn Sie Kubernetes in AWS anstelle von Amazon EKS verwenden, gelten zudem die folgenden Anforderungen:
-
Stellen Sie sicher, dass für Ihren Kubernetes-Cluster rollenbasierte Zugriffskontrolle (RBAC) aktiviert ist. Weitere Informationen finden Sie unter Using RBAC Authorization
in der Kubernetes-Dokumentation. -
Für Ihr Kubelet ist der Webhook-Autorisierungsmodus aktiviert. Weitere Informationen finden Sie unter Kubelet authentication/authorization
in der Kubernetes-Dokumentation.
-
Sie müssen außerdem IAM-Berechtigungen erteilen, damit Ihre Amazon-EKS-Worker-Knoten Metriken und Protokolle an CloudWatch senden können. Es gibt zwei Möglichkeiten dafür:
-
Fügen Sie eine Richtlinie an die IAM-Rolle Ihrer Worker-Knoten an. Dies funktioniert sowohl für Amazon-EKS-Cluster als auch für andere Kubernetes-Cluster.
-
Verwenden Sie eine IAM-Rolle für Service-Konten für den Cluster und fügen Sie die Richtlinie an diese Rolle an. Dies funktioniert nur für Amazon-EKS-Cluster.
Die erste Option gewährt CloudWatch Berechtigungen für den gesamten Knoten. Die Verwendung einer IAM-Rolle für das Service-Konto gewährt CloudWatch nur Zugriff auf die entsprechenden DaemonSet-Pods.
Anfügen einer Richtlinie an die IAM-Rolle der Worker-Knoten
Führen Sie die folgenden Schritte aus, um die Richtlinie an die IAM-Rolle Ihrer Worker-Knoten anzufügen. Dies funktioniert sowohl für Amazon-EKS-Cluster als auch für Kubernetes-Cluster außerhalb von Amazon EKS.
So fügen Sie die erforderliche Richtlinie an die IAM-Rolle für Ihre Worker-Knoten an
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie eine der Workerknoten-Instances und danach die IAM-Rolle in der Beschreibung aus.
-
Wählen Sie auf der Seite der IAM-Rolle die Option Richtlinien anfügen.
-
Aktivieren Sie in der Liste der Richtlinien das Kontrollkästchen neben CloudWatchAgentServerPolicy. Verwenden Sie ggf. das Suchfeld, um diese Richtlinie zu finden.
-
Wählen Sie Richtlinien anfügen.
Wenn Sie einen Kubernetes-Cluster außerhalb von Amazon EKS ausführen, ist Ihren Workerknoten möglicherweise noch keine IAM-Rolle zugeordnet. In diesem Fall müssen Sie der Instance zuerst eine IAM-Rolle zuweisen und die Richtlinie dann, wie in den vorherigen Schritten beschrieben, hinzufügen. Weitere Informationen zum Anhängen einer Rolle an eine Instance finden Sie unter Anhängen einer IAM-Rolle an eine Instance im Amazon-EC2-Benutzerhandbuch.
Wenn Sie einen Kubernetes-Cluster außerhalb von Amazon EKS ausführen und EBS-Volume-IDs in den Metriken erfassen möchten, müssen Sie der IAM-Rolle, die der Instance zugeordnet ist, eine weitere Richtlinie hinzufügen. Fügen Sie Folgendes als eingebundenen Richtlinie hinzu. Informationen finden Sie im Abschnitt Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.
Verwenden einer IAM-Service-Kontorolle
Diese Methode funktioniert nur für Amazon-EKS-Cluster.
So erteilen Sie CloudWatch mithilfe einer IAM-Service-Kontorolle Berechtigungen
-
Aktivieren Sie die IAM-Rollen für Service-Konten in Ihrem Cluster, falls Sie dies noch nicht getan haben. Weitere Informationen finden Sie unter Aktivieren von IAM-Rollen für Service-Konten in Ihrem Cluster.
-
Konfigurieren Sie das Servicekonto für die Nutzung einer IAM-Rolle, sofern Sie das noch nicht getan haben. Weitere Informationen finden Sie unter Konfigurieren des Kubernetes-Servicekontos zur Übernahme einer IAM-Rolle.
Wenn Sie die Rolle erstellen, fügen Sie zusätzlich zu der Richtlinie, die Sie für die Rolle erstellen, die IAM-Richtlinie CloudWatchAgentServerPolicy an die Rolle an. Außerdem sollte das dieser Rolle zugeordnete Kubernetes-Servicekonto in dem
amazon-cloudwatch-Namespace erstellt werden, in dem die Daemonsets von CloudWatch und Fluent Bit in den nächsten Schritten bereitgestellt werden -
Ordnen Sie die IAM-Rolle einem Service-Konto in Ihrem Cluster zu, falls Sie dies noch nicht getan haben. Weitere Informationen finden Sie unter Konfigurieren des Kubernetes-Servicekontos zur Übernahme einer IAM-Rolle.