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
CloudWatchAgentServerPolicygestita allegata -
Un'associazione EKS Pod Identity che associa il ruolo all'account del servizio dell' CloudWatch agente
-
Il componente aggiuntivo
amazon-cloudwatch-observabilityEKS 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
-
Salvate il modello precedente in un file denominato.
otel-container-insights.yaml -
Eseguire il seguente comando seguente. Sostituisci
cluster-namecon 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 -
Attendi il completamento della creazione dello stack.
aws cloudformation wait stack-create-complete \ --stack-name otel-container-insights -
Verifica che lo stato dello stack sia.
CREATE_COMPLETEaws 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
-
Conferma che i pod CloudWatch dell'agente siano in funzione.
kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agentTutti i pod devono mostrare lo
Runningstato. -
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel riquadro di navigazione, scegli Container Insights.
-
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