View a markdown version of this page

Implementa OTel Container Insights con CloudFormation - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementa OTel Container Insights con CloudFormation

Puoi implementare OTel Container Insights come infrastruttura sotto forma di codice utilizzando un CloudFormation modello. Questo approccio è ideale per i team che gestiscono i cluster tramite pipeline IAc e desiderano implementazioni ripetibili e controllate dalla versione.

Il modello installa il componente aggiuntivo EKS con Otel Container Insights abilitato. amazon-cloudwatch-observability Se preferisci la gestione dei Kubernetes-native pacchetti, consulta. Implementa OTel Container Insights con Helm

Prerequisiti

Prima di distribuire Otel Container Insights con CloudFormation, verificate di soddisfare i seguenti requisiti.

  • Un cluster Amazon EKS esistente che esegue Kubernetes versione 1.28 o successiva

  • AWS CLI versione 2.15.0 o successiva

  • kubectlconfigurato per comunicare con il cluster di destinazione

  • Autorizzazioni IAM per la creazione di CloudFormation stack

  • Accesso a Internet in uscita dal cluster agli endpoint CloudWatch

Implementa con CloudFormation

Utilizza un CloudFormation modello per distribuire il componente aggiuntivo CloudWatch Observability, il ruolo IAM richiesto e l'associazione Pod Identity in un unico stack. Questo modello utilizza la AWS::EKS::Addon risorsa per installare il componente aggiuntivo con Otel Container Insights abilitato.

CloudFormation modello

Il seguente modello crea il set completo di risorse necessarie per abilitare Otel Container Insights sul tuo cluster Amazon EKS.

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

Questo modello crea le seguenti risorse:

  • Un ruolo IAM con la policy CloudWatchAgentServerPolicy gestita allegata

  • Un'associazione EKS Pod Identity che associa il ruolo all'account del servizio dell' CloudWatch agente

  • Il componente aggiuntivo amazon-cloudwatch-observability EKS con OTel Container Insights abilitato

Per distribuire il CloudFormation stack

Utilizzate il AWS CLI per creare lo CloudFormation stack a partire dal modello.

Per distribuire lo stack
  1. Salvate il modello precedente in un file denominato. otel-container-insights.yaml

  2. Eseguire il seguente comando seguente. Sostituisci cluster-name con il nome del tuo cluster Amazon EKS.

    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
  3. Attendi il completamento della creazione dello stack.

    aws cloudformation wait stack-create-complete \ --stack-name otel-container-insights
  4. Verifica che lo stato dello stack sia. CREATE_COMPLETE

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

Verifica della distribuzione

Una volta completata la creazione CloudFormation dello stack, verifica che il componente aggiuntivo sia in esecuzione e che stia inviando dati a. CloudWatch

Per verificare la distribuzione
  1. Conferma che i pod CloudWatch dell'agente siano in funzione.

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

    Tutti i pod devono mostrare lo Running stato.

  2. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  3. Nel riquadro di navigazione, scegli Container Insights.

  4. Verifica che il cluster compaia nell'elenco dei cluster e che le metriche siano compilate.

Le metriche vengono in genere visualizzate CloudWatch entro 3-5 minuti dal completamento della distribuzione.

Rimuovi la distribuzione

Per rimuovere tutte le risorse create dal CloudFormation modello, elimina lo stack.

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