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
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 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
-
Salvate il modello precedente in un file denominato.
classic-container-insights.yaml -
Eseguire il seguente comando seguente. Sostituisci
cluster-namecon 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 -
Attendi il completamento della creazione dello stack.
aws cloudformation wait stack-create-complete \ --stack-name classic-container-insights -
Verifica che lo stato dello stack sia.
CREATE_COMPLETEaws 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
-
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"] }] }' -
Collegare la policy gestita
CloudWatchAgentServerPolicyal ruolo.aws iam attach-role-policy \ --role-name EKS-CloudWatch-Agent-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy -
Crea l'associazione Pod Identity. Sostituiscilo
cluster-namecon il nome del tuo cluster Amazon EKS eaccount-idcon l'ID AWS del tuo account.aws eks create-pod-identity-association \ --cluster-namecluster-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
-
Eseguire il seguente comando seguente. Sostituisci
cluster-namecon il nome del tuo cluster Amazon EKS eregioncon 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 -
Verifica che la versione Helm sia stata distribuita correttamente.
helm list -n amazon-cloudwatchLo 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
-
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 pannello di navigazione, scegli Parametri quindi scegli Tutti i parametri.
-
Verifica che le metriche vengano visualizzate nello spazio dei
ContainerInsightsnomi 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.
-
Per la configurazione basata su console, consulta. Abilita Enhanced Container Insights (Classic) dalla console
-
Per la configurazione AWS CLI basata su base, vedere. Guida all'installazione (AWS CLI)
-
Per informazioni sulle metriche raccolte da Enhanced Container Insights (Classic), consulta. Riferimento metrico Enhanced Container Insights (Classic)
-
Per migrare a OTel Container Insights, consulta. Migrazione da Enhanced Container Insights (Classic) a OTel Container Insights
-
Per ulteriori informazioni su OTel Container Insights, consultaOtel Container Insights (consigliato).