Überprüfen der Voraussetzungen für Container Insights in CloudWatch - Amazon CloudWatch

Ü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 kubectl installiert und es wird ausgeführt. Weitere Informationen finden Sie unter Installieren von kubectl im 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
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie eine der Workerknoten-Instances und danach die IAM-Rolle in der Beschreibung aus.

  3. Wählen Sie auf der Seite der IAM-Rolle die Option Richtlinien anfügen.

  4. Aktivieren Sie in der Liste der Richtlinien das Kontrollkästchen neben CloudWatchAgentServerPolicy. Verwenden Sie ggf. das Suchfeld, um diese Richtlinie zu finden.

  5. 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.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolumes" ], "Resource": "*", "Effect": "Allow" } ] }

Verwenden einer IAM-Service-Kontorolle

Diese Methode funktioniert nur für Amazon-EKS-Cluster.

So erteilen Sie CloudWatch mithilfe einer IAM-Service-Kontorolle Berechtigungen
  1. 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.

  2. 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

  3. 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.