View a markdown version of this page

Stellen Sie Enhanced Container Insights (Classic) bereit mit CloudFormation oder Helm - Amazon CloudWatch

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.

Stellen Sie Enhanced Container Insights (Classic) bereit mit CloudFormation oder Helm

Sie können Enhanced Container Insights (Classic) mithilfe von CloudFormation Vorlagen oder Helm-Diagrammen als Infrastruktur als Code bereitstellen. Bei diesem Ansatz wird das amazon-cloudwatch-observability Add-on mit einer Version vor v6.2.0 installiert, um die Classic-Metrik-Pipeline zu aktivieren. Wählen Sie diesen Ansatz, wenn Sie Cluster über IaC-Pipelines verwalten und wiederholbare, versionskontrollierte Bereitstellungen wünschen.

Empfehlung

Für neue Bereitstellungen empfehlen wir, die Add-On-Version 6.2.0 Otel Container Insights (empfohlen) oder höher mit der Pipeline zu verwenden. OTel-based

Voraussetzungen

Bevor Sie Enhanced Container Insights (Classic) mit CloudFormation oder Helm bereitstellen, 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

  • AWS CLI Version 2.12.0 oder höher

  • kubectlkonfiguriert für die Kommunikation mit Ihrem Zielcluster

  • IAM-Berechtigungen für die CloudFormation Stack-Erstellung (für die CloudFormation Methode)

  • Helm v3.8 oder höher (für die Helm-Methode)

  • Ausgehender Internetzugang vom Cluster zu Endpunkten CloudWatch

Bereitstellen mit CloudFormation

Verwenden Sie eine CloudFormation Vorlage, um das CloudWatch Observability-Add-on mit der Classic-Konfiguration bereitzustellen. Diese Vorlage verwendet die AWS::EKS::Addon Ressource, um das Add-on mit einer Version vor v6.2.0 zu installieren.

CloudFormation Vorlage

Die folgende Vorlage erstellt die Ressourcen, die Sie benötigen, um Enhanced Container Insights (Classic) auf Ihrem Amazon EKS-Cluster zu aktivieren.

AWSTemplateFormatVersion: '2010-09-09' Description: Deploy Enhanced Container Insights (Classic) on an EKS cluster Parameters: ClusterName: Type: String Description: The name of your EKS cluster Resources: CloudWatchAgentRole: Type: AWS::IAM::Role Properties: RoleName: EKS-CloudWatch-Agent-Role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: pods.eks.amazonaws.com Action: - sts:AssumeRole - sts:TagSession ManagedPolicyArns: - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy PodIdentityAssociation: Type: AWS::EKS::PodIdentityAssociation Properties: ClusterName: !Ref ClusterName Namespace: amazon-cloudwatch ServiceAccount: cloudwatch-agent RoleArn: !GetAtt CloudWatchAgentRole.Arn CloudWatchObservabilityAddon: Type: AWS::EKS::Addon DependsOn: PodIdentityAssociation Properties: ClusterName: !Ref ClusterName AddonName: amazon-cloudwatch-observability AddonVersion: v5.4.0-eksbuild.1 ServiceAccountRoleArn: !GetAtt CloudWatchAgentRole.Arn ResolveConflicts: OVERWRITE

Diese-Vorlage erstellt die folgenden Ressourcen:

  • Eine IAM-Rolle mit angehängter CloudWatchAgentServerPolicy verwalteter Richtlinie

  • Eine EKS Pod Identity-Zuordnung, die die Rolle dem CloudWatch Agent-Dienstkonto zuordnet

  • Das amazon-cloudwatch-observability EKS-Add-on mit einer Classic-Version (vor v6.2.0)

Um das bereitzustellen CloudFormation Stack

Verwenden Sie den AWS CLI , um den CloudFormation Stack aus der Vorlage zu erstellen.

So stellen Sie den Stack bereit
  1. Speichern Sie die vorherige Vorlage in einer Datei mit dem Namenclassic-container-insights.yaml.

  2. Führen Sie den folgenden Befehl aus. cluster-nameErsetzen Sie durch den Namen Ihres Amazon EKS-Clusters.

    aws cloudformation create-stack \ --stack-name classic-container-insights \ --template-body file://classic-container-insights.yaml \ --parameters ParameterKey=ClusterName,ParameterValue=cluster-name \ --capabilities CAPABILITY_NAMED_IAM
  3. Warten Sie, bis die Stack-Erstellung abgeschlossen ist.

    aws cloudformation wait stack-create-complete \ --stack-name classic-container-insights
  4. Stellen Sie sicher, dass der Stack-Status lautetCREATE_COMPLETE.

    aws cloudformation describe-stacks \ --stack-name classic-container-insights \ --query "Stacks[0].StackStatus" \ --output text

Mit Helm bereitstellen

Verwenden Sie das Helm-Diagramm, um Enhanced Container Insights (Classic) bereitzustellen, wenn Sie Kubernetes-Workloads mit Helm verwalten. Das Diagramm installiert den CloudWatch Observability-Operator mit der Classic-Metrik-Pipeline.

Anmerkung

Wenn Sie Helm verwenden, müssen Sie die IAM-Rolle und die Pod Identity-Zuordnung separat erstellen. Das Helm-Diagramm installiert nur die Kubernetes-Ressourcen.

Schritt 1: Erstellen Sie die IAM-Rolle für das

Erstellen Sie eine IAM-Rolle für den CloudWatch Agenten, bevor Sie das Helm-Diagramm installieren.

Um die IAM-Rolle und die Pod Identity-Zuordnung zu erstellen
  1. 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"] }] }'
  2. Hängen Sie die von CloudWatchAgentServerPolicy verwaltete Richtlinie an die Rolle an.

    aws iam attach-role-policy \ --role-name EKS-CloudWatch-Agent-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  3. Erstellen Sie die Pod Identity-Zuordnung. cluster-nameErsetzen Sie es durch den Namen Ihres Amazon EKS-Clusters und account-id durch Ihre AWS Konto-ID.

    aws eks create-pod-identity-association \ --cluster-name cluster-name \ --namespace amazon-cloudwatch \ --service-account cloudwatch-agent \ --role-arn arn:aws:iam::account-id:role/EKS-CloudWatch-Agent-Role

Schritt 2: Installieren Sie das Helm-Diagramm

Installieren Sie das CloudWatch Observability Helm-Diagramm mit einer Classic-Version (vor v6.2.0).

Um das Helm-Diagramm zu installieren
  1. Führen Sie den folgenden Befehl aus. cluster-nameErsetzen Sie durch den Namen Ihres Amazon EKS-Clusters und region durch Ihre AWS Region.

    helm install amazon-cloudwatch-observability \ oci://public.ecr.aws/cloudwatch-agent/amazon-cloudwatch-observability-helm-chart \ --namespace amazon-cloudwatch \ --create-namespace \ --set clusterName=cluster-name \ --set region=region \ --version 5.4.0
  2. Stellen Sie sicher, dass die Helm-Version erfolgreich bereitgestellt wurde.

    helm list -n amazon-cloudwatch

    Der Status muss angezeigt werdendeployed.

Überprüfen der Bereitstellung

Stellen Sie nach Abschluss der CloudFormation Stack-Erstellung oder Helm-Installation sicher, dass das Add-on läuft und Daten an sendet CloudWatch.

Um die Bereitstellung zu überprüfen
  1. Vergewissern Sie sich, dass die CloudWatch Agenten-Pods ausgeführt werden.

    kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent

    Alle Pods müssen Running den Status anzeigen.

  2. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  3. Wählen Sie im Navigationsbereich Metrics (Metriken) und dann All metrics (Alle Metriken) aus.

  4. Stellen Sie sicher, dass Metriken im ContainerInsights Namespace für Ihren Cluster angezeigt werden.

Metriken werden in der Regel CloudWatch innerhalb von 3 bis 5 Minuten nach Abschluss der Bereitstellung angezeigt.

Nächste Schritte

Nach der Bereitstellung von Enhanced Container Insights (Classic) können Sie sich mit den folgenden Themen befassen.