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.
Guide de configuration (AWS CLI)
Ce guide explique comment installer Enhanced Container Insights (Classic) sur un cluster Amazon EKS existant à l'aide du AWS CLI. Le module complémentaire déploie un CloudWatch agent DaemonSet qui collecte des métriques d'infrastructure, des journaux de conteneurs et des données de performance.
Mode de maintenance
Enhanced Container Insights (Classic) est en mode maintenance. Pour les nouveaux déploiements, nous vous recommandonsOTel Container Insights (recommandé).
Conditions préalables
Avant de commencer, vérifiez que vous répondez aux exigences suivantes.
-
Un cluster Amazon EKS existant exécutant Kubernetes version 1.25 ou ultérieure
-
Version de plateforme
eks.1ou ultérieure -
AWS CLI version 2.12.0 ou ultérieure
-
kubectlconfiguré pour communiquer avec votre cluster cible -
Autorisations IAM :
eks:CreateAddon,eks:DescribeAddon,iam:CreateServiceLinkedRoleiam:CreateRole, etiam:AttachRolePolicy -
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
Étape 1 : création du rôle IAM
Créez un rôle IAM qui permet à l' CloudWatch agent d'envoyer des données à CloudWatch.
Pour créer le rôle IAM de l' CloudWatch agent
-
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-Agent-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-Agent-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-Agent-Role
Étape 3 : Installation du module complémentaire Amazon CloudWatch Observability
Installez le amazon-cloudwatch-observability module complémentaire sur votre cluster.
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 \ --addon-versionv5.x.x-eksbuild.xRemplacez
v5.x.x-eksbuild.xpar la dernière version v5.x disponible. L'installation sans--addon-versioninstaller entraîne l'installation de la dernière version (v6.2.0+), qui active le pipeline OTel au lieu de Classic.
Étape 4 : vérifier l'état du module complémentaire
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.
Pour vérifier les données de Container Insights
-
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
Dans le volet de navigation, choisissez Container Insights.
-
Vérifiez que des métriques telles que
node_cpu_utilizationetpod_memory_utilizationapparaissent pour votre cluster.
Résolution des problèmes
Suivez les instructions suivantes pour résoudre les problèmes courants lors de l'installation d'Enhanced Container Insights (Classic) 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é 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 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 cause de restrictions réseau ou d'autorisations IAM incorrectes.
Solution : Procédez comme suit pour résoudre ce problème.
-
Vérifiez que vos groupes de sécurité VPC et vos 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.
Les modules d'agent sont bloqués dans Pending ou CrashLoopBackOff
Symptôme : Lorsque vous exécutezkubectl get pods -n
amazon-cloudwatch, un ou plusieurs modules s'affichent Pending ou affichent CrashLoopBackOff leur état.
Cause : Les modules d'agent ne peuvent pas démarrer en raison de ressources de nœud insuffisantes, d'échecs d'extraction d'images ou d'autorisations manquantes.
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 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
Étapes suivantes
Prêt pour la mise à niveau ? Pour obtenir des instructions étape par étape pour passer d'Enhanced Container Insights (Classic) à OTel Container Insights, voirMigrez d'Enhanced Container Insights (Classic) vers OTel Container Insights.