View a markdown version of this page

Implementa Enhanced Container Insights (Classic) con CloudFormation o Helm - 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 Enhanced Container Insights (Classic) con CloudFormation o Helm

Puoi implementare Enhanced Container Insights (Classic) come infrastruttura sotto forma di codice utilizzando CloudFormation modelli o grafici Helm. Questo approccio installa il amazon-cloudwatch-observability componente aggiuntivo con una versione precedente alla v6.2.0 per abilitare la pipeline metrica Classic. Scegli questo approccio se gestisci i cluster tramite pipeline IaC e desideri implementazioni ripetibili e controllate dalla versione.

Raccomandazione

Per le nuove distribuzioni, consigliamo di utilizzare la versione aggiuntiva 6.2.0 o successiva con Otel Container Insights (consigliato) la pipeline. OTel-based

Prerequisiti

Prima di distribuire Enhanced Container Insights (Classic) con CloudFormation o Helm, verifica di soddisfare i seguenti requisiti.

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

  • AWS CLI versione 2.12.0 o successiva

  • kubectlconfigurato per comunicare con il cluster di destinazione

  • Autorizzazioni IAM per la creazione di CloudFormation stack (per il CloudFormation metodo)

  • Helm v3.8 o versione successiva (per il metodo Helm)

  • Accesso a Internet in uscita dal cluster agli endpoint CloudWatch

Implementa con CloudFormation

Utilizza un CloudFormation modello per distribuire il componente aggiuntivo CloudWatch Observability con la configurazione Classic. Questo modello utilizza la AWS::EKS::Addon risorsa per installare il componente aggiuntivo con una versione precedente alla v6.2.0.

CloudFormation modello

Il seguente modello crea le risorse necessarie per abilitare Enhanced Container Insights (Classic) sul tuo cluster Amazon EKS.

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

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 una versione classica (precedente alla v6.2.0)

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. classic-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 classic-container-insights \ --template-body file://classic-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 classic-container-insights
  4. Verifica che lo stato dello stack sia. CREATE_COMPLETE

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

Distribuisci con Helm

Usa il grafico Helm per distribuire Enhanced Container Insights (Classic) se gestisci i carichi di lavoro Kubernetes con Helm. Il grafico installa l'operatore Observability con la pipeline metrica Classic CloudWatch .

Nota

Quando si utilizza Helm, è necessario creare separatamente il ruolo IAM e l'associazione Pod Identity. Il grafico Helm installa solo le risorse Kubernetes.

Fase 1: creazione di un ruolo IAM per

Crea un ruolo IAM per l' CloudWatch agente prima di installare il grafico Helm.

Per creare il ruolo IAM e l'associazione Pod Identity
  1. Esegui il comando seguente per creare il ruolo con una politica di fiducia per EKS Pod Identity.

    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. Collegare la policy gestita CloudWatchAgentServerPolicy al ruolo.

    aws iam attach-role-policy \ --role-name EKS-CloudWatch-Agent-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  3. Crea l'associazione Pod Identity. Sostituiscilo cluster-name con il nome del tuo cluster Amazon EKS e account-id con l'ID AWS del tuo account.

    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

Passaggio 2: installa il diagramma Helm

Installa il grafico CloudWatch Observability Helm con una versione classica (precedente alla v6.2.0).

Per installare il grafico Helm
  1. Eseguire il seguente comando seguente. Sostituisci cluster-name con il nome del tuo cluster Amazon EKS e region con la tua AWS regione.

    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. Verifica che la versione Helm sia stata distribuita correttamente.

    helm list -n amazon-cloudwatch

    Lo stato deve essere visualizzato. deployed

Verifica della distribuzione

Una volta completata la creazione CloudFormation dello stack o l'installazione di Helm, 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 pannello di navigazione, scegli Parametri quindi scegli Tutti i parametri.

  4. Verifica che le metriche vengano visualizzate nello spazio dei ContainerInsights nomi del cluster.

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

Fasi successive

Dopo aver distribuito Enhanced Container Insights (Classic), puoi esplorare i seguenti argomenti.