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à.
Avvio rapido: Otel Container Insights su Amazon EKS
Questa guida illustra come abilitare OTel Container Insights su un cluster Amazon EKS esistente. Al termine di questa procedura, il cluster invia i parametri dell'infrastruttura e i log dei container ad Amazon CloudWatch con Enhanced Observability abilitata.
Puoi abilitare OTel Container Insights in due modi: utilizzando il Console di gestione AWS (più veloce) o utilizzando il. AWS CLI Entrambi gli approcci installano lo stesso componente aggiuntivo amazon-cloudwatch-observability EKS con la configurazione di Otel Container Insights. Non è necessaria l'implementazione manuale degli agenti, i grafici Helm o le pipeline di raccolta personalizzate. L'intero processo richiede meno di 5 minuti.
Prerequisiti
Prima di abilitare Otel Container Insights, verificate di soddisfare i seguenti requisiti.
-
Un cluster Amazon EKS esistente che esegue Kubernetes versione 1.28 o successiva
-
Versione della piattaforma o successiva
eks.1 -
Versione 6.2.0 o successiva del componente aggiuntivo
amazon-cloudwatch-observability -
AWS CLI versione 2.15.0 o successiva (per la configurazione) CLI-based
-
kubectlconfigurato per comunicare con il cluster di destinazione -
Autorizzazioni IAM:
eks:CreateAddoneks:DescribeAddon, eiam:CreateServiceLinkedRole -
Il componente aggiuntivo EKS Pod Identity Agent installato sul cluster o IAM Roles for Service Accounts (IRSA) configurato
-
Accesso a Internet in uscita dal cluster agli endpoint CloudWatch
Abilita OTel Container Insights (console)
Console di gestione AWS Fornisce il percorso più veloce per abilitare Otel Container Insights.
Per abilitare OTel Container Insights utilizzando la console
-
Apri la Console Amazon EKS su https://console.aws.amazon.com/eks/
. -
Scegli Clusters, quindi scegli il nome del cluster.
-
Scegli la scheda Osservabilità.
-
Scegli Enable Container Insights e segui le istruzioni sullo schermo.
Per una guida dettagliata sulla console, consulta. Abilita OTel Container Insights dalla console
Abilitare Otel Container Insights (AWS CLI)
Utilizza i seguenti passaggi per abilitare OTel Container Insights utilizzando il AWS CLI.
Fase 1: creazione di un ruolo IAM per
Crea un ruolo IAM che consenta al componente aggiuntivo CloudWatch Observability di inviare dati a. CloudWatch
Per creare il ruolo IAM del componente CloudWatch aggiuntivo Observability
-
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-Observability-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-Observability-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Fase 2: Creare l'associazione Pod Identity
Associa il ruolo IAM all'account del servizio CloudWatch agente nel cluster.
Per creare l'associazione Pod Identity
-
Eseguire il seguente comando seguente. 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-Observability-Role
Passaggio 3: installa il componente aggiuntivo Amazon CloudWatch Observability
Installa il amazon-cloudwatch-observability componente aggiuntivo con Otel Container Insights abilitato.
Per installare il componente aggiuntivo
-
Eseguire il seguente comando seguente. Sostituisci
cluster-namecon il nome del tuo cluster Amazon EKS.aws eks create-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"otelContainerInsights":{"enabled":true}}'Importante
La
otelContainerInsights.enabledconfigurazione è obbligatoria. OTel Container Insights non è abilitato per impostazione predefinita.
Fase 4: Verificare lo stato del componente aggiuntivo
Verifica che il componente aggiuntivo sia stato installato correttamente.
Per verificare lo stato del componente aggiuntivo
-
Eseguire il seguente comando seguente. Sostituisci
cluster-namecon il nome del tuo cluster Amazon EKS.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.status" \ --output textL'output previsto è
ACTIVE.
Fase 5: Conferma che i pod degli agenti siano in funzione
Verificate che i pod degli CloudWatch agenti siano in esecuzione nello spazio dei amazon-cloudwatch nomi.
Per confermare che i pod degli agenti sono in esecuzione
-
Eseguire il seguente comando seguente.
kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agentTutti i pod degli agenti devono mostrare lo
Runningstato.
Verifica i dati in CloudWatch
Dopo aver completato la configurazione, i dati di Container Insights vengono visualizzati CloudWatch entro 3-5 minuti.
Controlla le metriche
Per controllare le metriche in CloudWatch
-
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel riquadro di navigazione, scegli Query Studio.
-
Cerca metriche, ad esempio
container_cpu_usage_seconds_totalutilizzando ProMQL.
Controlla i log di
Per verificare che esistano gruppi di log per il cluster, esegui il comando seguente. Sostituisci cluster-name con il nome del tuo cluster Amazon EKS.
aws logs describe-log-groups \ --log-group-name-prefix "/aws/containerinsights/cluster-name" \ --query "logGroups[].logGroupName" \ --output table
Tempo di trasmissione dei dati previsto
La tabella seguente mostra la latenza prevista per ogni tipo di segnale dopo l'attivazione di Otel Container Insights.
| Signal | Latenza prevista |
|---|---|
| Metriche dell'infrastruttura | 2—3 minuti |
| Registri di container | 2—3 minuti |
| Eventi del registro delle prestazioni | 3-5 minuti |
Risoluzione dei problemi
Utilizza le seguenti linee guida per risolvere i problemi più comuni quando abiliti Otel Container Insights su Amazon EKS.
Add-on lo stato mostra CREATE_FAILED o DEGRADED
Sintomo: quando corriaws eks
describe-addon, lo stato mostra o. CREATE_FAILED DEGRADED
Causa: l'installazione del componente aggiuntivo non è riuscita, in genere a causa di autorizzazioni IAM insufficienti o di un'associazione Pod Identity mancante.
Soluzione: completa i seguenti passaggi per risolvere il problema.
-
Esegui il comando seguente per verificare le informazioni dettagliate sull'errore. Sostituisci
cluster-namecon il nome del cluster.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.health" -
Verifica che il ruolo IAM esista e che sia
CloudWatchAgentServerPolicycollegato. -
Verifica che l'associazione Pod Identity abbia come target lo spazio dei nomi (
amazon-cloudwatch) e l'account di servizio () corretti.cloudwatch-agent -
Eliminate il componente aggiuntivo non funzionante e reinstallatelo dopo aver risolto il problema.
aws eks delete-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability
I pod degli agenti sono nello stato o In sospeso CrashLoopBackOff
Sintomo: quando corrikubectl get pods -n
amazon-cloudwatch, uno o più pod vengono visualizzati CrashLoopBackOff o hanno lo stato. Pending
Causa: i pod degli agenti non possono essere avviati a causa di risorse di nodo insufficienti, autorizzazioni mancanti o problemi di connettività di rete.
Soluzione: completa i seguenti passaggi per risolvere il problema.
-
Controlla gli eventi del pod per i messaggi di errore dettagliati.
kubectl describe pod -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent -
Controlla i registri del contenitore dell'agente per eventuali errori di avvio.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=50 -
Verifica che i nodi abbiano CPU e memoria sufficienti per i pod degli agenti.
-
Verifica che il componente aggiuntivo EKS Pod Identity Agent sia installato e in esecuzione.
kubectl get pods -n kube-system -l app.kubernetes.io/name=eks-pod-identity-agent
Le metriche non vengono visualizzate dopo 5 minuti CloudWatch
Sintomo: i pod degli agenti mostrano Running lo stato, ma dopo 5 minuti non viene visualizzata alcuna metrica. CloudWatch
Causa: l'agente non può inviare dati a CloudWatch, in genere a causa di restrizioni di rete o autorizzazioni IAM errate.
Soluzione: completa i seguenti passaggi per risolvere il problema.
-
Verificate che i pod degli agenti possano raggiungere gli CloudWatch endpoint. Verifica che i gruppi di sicurezza VPC e gli ACL di rete consentano il traffico HTTPS in uscita (porta 443) verso gli endpoint. CloudWatch
-
Controlla i log degli agenti per eventuali errori di autorizzazione o timeout di connessione.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=100 | grep -i "error\|timeout\|denied" -
Verifica che al ruolo IAM sia associata la
CloudWatchAgentServerPolicypolicy e che la policy di trust lo consenta.pods.eks.amazonaws.com -
Se utilizzi un endpoint VPC per CloudWatch, conferma che la policy dell'endpoint consenta le azioni richieste.