Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Démarrage rapide : OTel Container Insights sur Amazon EKS
Ce guide explique comment activer OTel Container Insights sur un cluster Amazon EKS existant. À la fin de cette procédure, votre cluster envoie des métriques d'infrastructure et des journaux de conteneurs à Amazon CloudWatch avec l'option Enhanced Observability activée.
Vous pouvez activer OTel Container Insights de deux manières : en utilisant le AWS Management Console (le plus rapide) ou en utilisant le AWS CLI. Les deux approches installent le même module complémentaire amazon-cloudwatch-observability EKS avec la configuration OTel Container Insights. Vous n'avez pas besoin de déploiement manuel d'agents, de diagrammes Helm ou de pipelines de collecteurs personnalisés. L'ensemble du processus prend moins de 5 minutes.
Conditions préalables
Avant d'activer OTel Container Insights, vérifiez que vous répondez aux exigences suivantes.
-
Un cluster Amazon EKS existant exécutant Kubernetes version 1.28 ou ultérieure
-
Version de plateforme
eks.1ou ultérieure -
Version 6.2.0 ou ultérieure du module complémentaire
amazon-cloudwatch-observability -
AWS CLI version 2.15.0 ou ultérieure (pour CLI-based l'installation)
-
kubectlconfiguré pour communiquer avec votre cluster cible -
Autorisations IAM :
eks:CreateAddoneks:DescribeAddon, etiam:CreateServiceLinkedRole -
Le module complémentaire EKS Pod Identity Agent installé sur votre cluster ou configuré les rôles IAM pour les comptes de service (IRSA)
-
Accès Internet sortant du cluster vers les points de terminaison CloudWatch
Activer OTel Container Insights (console)
AWS Management Console Il fournit le chemin le plus rapide pour activer OTel Container Insights.
Pour activer OTel Container Insights à l'aide de la console
-
Ouvrez la console Amazon EKS https://console.aws.amazon.com/eks/
. -
Choisissez Clusters, puis choisissez le nom de votre cluster.
-
Sélectionnez l’onglet Observabilité.
-
Choisissez Enable Container Insights et suivez les instructions affichées à l'écran.
Pour une présentation détaillée de la console, voirActivez OTel Container Insights depuis la console.
Activez OTel Container Insights (AWS CLI)
Procédez comme suit pour activer OTel Container Insights à l'aide du AWS CLI.
Étape 1 : création du rôle IAM
Créez un rôle IAM qui permet au module complémentaire CloudWatch Observability d'envoyer des données à. CloudWatch
Pour créer le rôle IAM du module complémentaire CloudWatch Observability
-
Exécutez la commande suivante pour créer le rôle avec une politique de confiance pour 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"] }] }' -
Attachez la stratégie gérée par
CloudWatchAgentServerPolicyau rôle.aws iam attach-role-policy \ --role-name EKS-CloudWatch-Observability-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Étape 2 : Création de l'association Pod Identity
Associez le rôle IAM au compte de service de l' CloudWatch agent de votre cluster.
Pour créer l'association Pod Identity
-
Exécutez la commande suivante.
cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS etaccount-idpar votre identifiant de AWS compte.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
Étape 3 : Installation du module complémentaire Amazon CloudWatch Observability
Installez le amazon-cloudwatch-observability module complémentaire avec OTel Container Insights activé.
Pour installer le module complémentaire
-
Exécutez la commande suivante.
cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS.aws eks create-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"otelContainerInsights":{"enabled":true}}'Important
La
otelContainerInsights.enabledconfiguration est obligatoire. OTel Container Insights n'est pas activé par défaut.
Étape 4 : vérifier l'état de l'extension
Vérifiez que le module complémentaire a été correctement installé.
Pour vérifier l'état du module complémentaire
-
Exécutez la commande suivante.
cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.status" \ --output textLe résultat attendu est
ACTIVE.
Étape 5 : vérifier que les modules d'agent sont en cours d'exécution
Vérifiez que les modules d' CloudWatch agent s'exécutent dans l'espace de amazon-cloudwatch noms.
Pour confirmer que les modules d'agent sont en cours d'exécution
-
Exécutez la commande suivante.
kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agentTous les modules d'agent doivent indiquer
Runningleur statut.
Vérifiez les données dans CloudWatch
Une fois la configuration terminée, les données de Container Insights apparaissent dans CloudWatch un délai de 3 à 5 minutes.
Vérifiez les métriques
Pour vérifier les métriques dans CloudWatch
-
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
Dans le volet de navigation, choisissez Query Studio.
-
Recherchez des métriques, par exemple en
container_cpu_usage_seconds_totalutilisant ProMQL.
Vérifiez les journaux
Pour vérifier que des groupes de journaux existent pour votre cluster, exécutez la commande suivante. cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS.
aws logs describe-log-groups \ --log-group-name-prefix "/aws/containerinsights/cluster-name" \ --query "logGroups[].logGroupName" \ --output table
Délai de transmission des données prévu
Le tableau suivant indique la latence attendue pour chaque type de signal une fois que vous avez activé OTel Container Insights.
| Signal | Latence attendue |
|---|---|
| Indicateurs d'infrastructure | 2 à 3 minutes |
| Journaux de conteneurs | 2 à 3 minutes |
| Événements du journal des performances | 3 à 5 minutes |
Résolution des problèmes
Suivez les instructions suivantes pour résoudre les problèmes courants liés à l'activation d'OTel Container Insights sur Amazon EKS.
Add-on le statut indique CREATE_FAILED ou DEGRADED
Symptôme : Lorsque vous exécutezaws eks
describe-addon, l'état indique CREATE_FAILED ouDEGRADED.
Cause : L'installation du module complémentaire a échoué, généralement en raison d'autorisations IAM insuffisantes ou d'une association Pod Identity manquante.
Solution : Procédez comme suit pour résoudre ce problème.
-
Exécutez la commande suivante pour vérifier les informations d'erreur détaillées. Remplacez
cluster-namepar le nom de votre cluster.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.health" -
Vérifiez que le rôle IAM existe et qu'il est
CloudWatchAgentServerPolicyassocié. -
Vérifiez que l'association Pod Identity cible le bon espace de noms (
amazon-cloudwatch) et le compte de service (cloudwatch-agent). -
Supprimez le module complémentaire défaillant et réinstallez-le une fois le problème résolu.
aws eks delete-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability
Les pods d'agent sont CrashLoopBackOff actifs ou en attente
Symptôme : Lorsque vous exécutezkubectl get pods -n
amazon-cloudwatch, un ou plusieurs modules s'affichent CrashLoopBackOff ou affichent Pending leur état.
Cause : Les modules d'agent ne peuvent pas démarrer en raison de ressources de nœud insuffisantes, d'autorisations manquantes ou de problèmes de connectivité réseau.
Solution : Procédez comme suit pour résoudre ce problème.
-
Consultez les événements du pod pour obtenir des messages d'erreur détaillés.
kubectl describe pod -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent -
Vérifiez les journaux du conteneur de l'agent pour détecter les erreurs de démarrage.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=50 -
Vérifiez que vos nœuds disposent de suffisamment de processeur et de mémoire pour les modules d'agent.
-
Vérifiez que le module complémentaire EKS Pod Identity Agent est installé et en cours d'exécution.
kubectl get pods -n kube-system -l app.kubernetes.io/name=eks-pod-identity-agent
Les métriques n'apparaissent pas CloudWatch après 5 minutes
Symptôme : les modules de l'agent affichent l'Runningétat, mais aucune métrique n'apparaît CloudWatch après 5 minutes.
Cause : L'agent ne peut pas envoyer de données à CloudWatch, généralement en raison de restrictions réseau ou d'autorisations IAM incorrectes.
Solution : Procédez comme suit pour résoudre ce problème.
-
Vérifiez que les modules d'agent peuvent atteindre les CloudWatch points de terminaison. Vérifiez que les groupes de sécurité VPC et les ACL réseau autorisent le trafic HTTPS sortant (port 443) vers les points de terminaison. CloudWatch
-
Vérifiez les journaux de l'agent pour détecter les erreurs d'autorisation ou les délais de connexion.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=100 | grep -i "error\|timeout\|denied" -
Vérifiez que la politique est attachée au rôle IAM et que la
CloudWatchAgentServerPolicypolitique de confiance le permetpods.eks.amazonaws.com. -
Si vous utilisez un point de terminaison VPC pour CloudWatch, vérifiez que la politique de point de terminaison autorise les actions requises.