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éployez Enhanced Container Insights (Classic) avec CloudFormation ou Helm
Vous pouvez déployer Enhanced Container Insights (Classic) sous forme d'infrastructure sous forme de code à l'aide de CloudFormation
modèles ou de diagrammes Helm. Cette approche installe le amazon-cloudwatch-observability module complémentaire avec une version antérieure à la version 6.2.0 pour activer le pipeline métrique classique. Choisissez cette approche si vous gérez des clusters via des pipelines IaC et souhaitez des déploiements reproductibles et contrôlés par version.
Recommendation
Pour les nouveaux déploiements, nous recommandons OTel Container Insights (recommandé) d'utiliser la version complémentaire 6.2.0 ou ultérieure avec le OTel-based pipeline.
Conditions préalables
Avant de déployer Enhanced Container Insights (Classic) avec CloudFormation ou Helm, vérifiez que vous répondez aux exigences suivantes.
-
Un cluster Amazon EKS existant exécutant Kubernetes version 1.25 ou ultérieure
-
AWS CLI version 2.12.0 ou ultérieure
-
kubectlconfiguré pour communiquer avec votre cluster cible -
Autorisations IAM pour la création de CloudFormation piles (pour la CloudFormation méthode)
-
Helm v3.8 ou version ultérieure (pour la méthode Helm)
-
Accès Internet sortant du cluster vers les points de terminaison CloudWatch
Déployez avec CloudFormation
Utilisez un CloudFormation modèle pour déployer le module complémentaire CloudWatch Observability avec la configuration classique. Ce modèle utilise la AWS::EKS::Addon ressource pour installer le module complémentaire avec une version antérieure à la version 6.2.0.
CloudFormation modèle
Le modèle suivant crée les ressources dont vous avez besoin pour activer Enhanced Container Insights (Classic) sur votre 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
Ce modèle crée les ressources suivantes :
-
Un rôle IAM auquel est attachée la politique
CloudWatchAgentServerPolicygérée -
Une association EKS Pod Identity qui associe le rôle au compte de service de l' CloudWatch agent
-
Le module complémentaire
amazon-cloudwatch-observabilityEKS avec une version classique (antérieure à la version 6.2.0)
Pour déployer le CloudFormation pile
Utilisez le AWS CLI pour créer la CloudFormation pile à partir du modèle.
Pour déployer la pile
-
Enregistrez le modèle précédent dans un fichier nommé
classic-container-insights.yaml. -
Exécutez la commande suivante.
cluster-nameRemplacez-le par le nom de votre 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 -
Attendez que la création de la pile soit terminée.
aws cloudformation wait stack-create-complete \ --stack-name classic-container-insights -
Vérifiez que l'état de la pile est
CREATE_COMPLETE.aws cloudformation describe-stacks \ --stack-name classic-container-insights \ --query "Stacks[0].StackStatus" \ --output text
Déployez avec Helm
Utilisez le graphique Helm pour déployer Enhanced Container Insights (Classic) si vous gérez les charges de travail Kubernetes avec Helm. Le graphique installe l'opérateur CloudWatch Observability avec le pipeline métrique classique.
Note
Lorsque vous utilisez Helm, vous devez créer le rôle IAM et l'association Pod Identity séparément. Le graphique Helm installe uniquement les ressources Kubernetes.
Étape 1 : création du rôle IAM
Créez un rôle IAM pour l' CloudWatch agent avant d'installer le graphique Helm.
Pour créer le rôle IAM et l'association Pod Identity
-
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 -
Créez l'association Pod Identity.
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 2 : Installation du diagramme Helm
Installez le graphique CloudWatch Observability Helm avec une version classique (antérieure à la version 6.2.0).
Pour installer le graphique Helm
-
Exécutez la commande suivante.
cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS etregionpar votre AWS région.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 -
Vérifiez que la version Helm a été déployée avec succès.
helm list -n amazon-cloudwatchLe statut doit apparaître
deployed.
Vérification du déploiement
Une fois la création de la CloudFormation pile ou l'installation de Helm terminée, vérifiez que le module complémentaire est en cours d'exécution et qu'il envoie des données à CloudWatch.
Pour vérifier le déploiement
-
Vérifiez que les modules d' CloudWatch agent sont en cours d'exécution.
kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agentTous les pods doivent indiquer
Runningleur statut. -
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
Dans le panneau de navigation, choisissez Metrics (Métriques), puis choisissez All metrics (Toutes les métriques).
-
Vérifiez que les métriques apparaissent dans l'espace de
ContainerInsightsnoms de votre cluster.
Les métriques apparaissent généralement CloudWatch dans les 3 à 5 minutes suivant la fin du déploiement.
Étapes suivantes
Après avoir déployé Enhanced Container Insights (Classic), vous pouvez explorer les rubriques suivantes.
-
Pour une configuration basée sur la console, voirActivez Enhanced Container Insights (Classic) depuis la console.
-
Pour AWS CLI une configuration basée, voirGuide de configuration (AWS CLI).
-
Pour plus d'informations sur les métriques collectées par Enhanced Container Insights (Classic), consultezRéférence métrique Enhanced Container Insights (Classic).
-
Pour migrer vers OTel Container Insights, voirMigrez d'Enhanced Container Insights (Classic) vers OTel Container Insights.
-
Pour plus d'informations sur OTel Container Insights, consultezOTel Container Insights (recommandé).