

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 Otel Container Insights bereit mit CloudFormation
<a name="container-insights-eks-otel-cfn"></a>

Sie können OTel Container Insights mithilfe einer CloudFormation Vorlage als Infrastruktur als Code bereitstellen. Dieser Ansatz eignet sich am besten für Teams, die Cluster über IaC-Pipelines verwalten und wiederholbare, versionskontrollierte Bereitstellungen wünschen.

Die Vorlage installiert das `amazon-cloudwatch-observability` EKS-Add-on mit aktiviertem oTEL Container Insights. Wenn Sie Kubernetes-native Paketverwaltung bevorzugen, finden Sie weitere Informationen unter[Stellen Sie Otel Container Insights mit Helm bereit](container-insights-eks-otel-helm.md).

## Voraussetzungen
<a name="container-insights-eks-otel-cfn-prereqs"></a>

Stellen Sie vor der Bereitstellung von OTel Container Insights sicher CloudFormation, dass Sie die folgenden Anforderungen erfüllen.
+ Ein vorhandener Amazon EKS-Cluster, auf dem Kubernetes Version 1.28 oder höher ausgeführt wird
+ AWS CLI Version 2.15.0 oder höher
+ `kubectl`konfiguriert für die Kommunikation mit Ihrem Zielcluster
+ IAM-Berechtigungen für die CloudFormation Stack-Erstellung
+ Ausgehender Internetzugang vom Cluster zu den Endpunkten CloudWatch 

## Bereitstellen mit CloudFormation
<a name="container-insights-eks-otel-cfn-cloudformation"></a>

Verwenden Sie eine CloudFormation Vorlage, um das CloudWatch Observability-Add-on, die erforderliche IAM-Rolle und die Pod Identity-Zuordnung in einem einzigen Stack bereitzustellen. Diese Vorlage verwendet die `AWS::EKS::Addon` Ressource, um das Add-on mit aktiviertem OTel Container Insights zu installieren.

### CloudFormation Vorlage
<a name="container-insights-eks-otel-cfn-template"></a>

Die folgende Vorlage erstellt den kompletten Satz von Ressourcen, den Sie benötigen, um OTel Container Insights auf Ihrem Amazon EKS-Cluster zu aktivieren.

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Deploy OTel Container Insights 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-Observability-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: v6.2.0-eksbuild.1
      ConfigurationValues: '{"otelContainerInsights":{"enabled":true}}'
      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 aktiviertem oTEL Container Insights

### Um das zu implementieren CloudFormation Stack
<a name="container-insights-eks-otel-cfn-deploy-stack"></a>

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 Namen`otel-container-insights.yaml`.

1. Führen Sie den folgenden Befehl aus. {{cluster-name}}Ersetzen Sie durch den Namen Ihres Amazon EKS-Clusters.

   ```
   aws cloudformation create-stack \
     --stack-name otel-container-insights \
     --template-body file://otel-container-insights.yaml \
     --parameters ParameterKey=ClusterName,ParameterValue={{cluster-name}} \
     --capabilities CAPABILITY_NAMED_IAM
   ```

1. Warten Sie, bis die Stack-Erstellung abgeschlossen ist.

   ```
   aws cloudformation wait stack-create-complete \
     --stack-name otel-container-insights
   ```

1. Stellen Sie sicher, dass der Stack-Status lautet`CREATE_COMPLETE`.

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

## Überprüfen der Bereitstellung
<a name="container-insights-eks-otel-cfn-verify"></a>

Stellen Sie nach Abschluss der CloudFormation Stack-Erstellung 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.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im Navigationsbereich **Container Insights** aus.

1. Vergewissern Sie sich, dass Ihr Cluster in der Cluster-Liste erscheint und dass die Metriken aufgefüllt werden.

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

## Entfernen Sie die Bereitstellung
<a name="container-insights-eks-otel-cfn-cleanup"></a>

Um alle Ressourcen zu entfernen, die mit der CloudFormation Vorlage erstellt wurden, löschen Sie den Stack.

```
aws cloudformation delete-stack \
  --stack-name otel-container-insights
```