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 OTel Container Insights avec CloudFormation
Vous pouvez déployer OTel Container Insights sous forme d'infrastructure sous forme de code à l'aide d'un CloudFormation modèle. Cette approche est idéale pour les équipes qui gèrent des clusters via des pipelines IaC et qui souhaitent des déploiements reproductibles et contrôlés par version.
Le modèle installe le module complémentaire amazon-cloudwatch-observability EKS avec OTel Container Insights activé. Si vous préférez la gestion des Kubernetes-native packages, consultezDéployez OTel Container Insights avec Helm.
Conditions préalables
Avant de déployer OTel Container Insights avec CloudFormation, vérifiez que vous répondez aux exigences suivantes.
-
Un cluster Amazon EKS existant exécutant Kubernetes version 1.28 ou ultérieure
-
AWS CLI version 2.15.0 ou ultérieure
-
kubectlconfiguré pour communiquer avec votre cluster cible -
Autorisations IAM pour la création de CloudFormation piles
-
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, le rôle IAM requis et l'association Pod Identity dans une seule pile. Ce modèle utilise la AWS::EKS::Addon ressource pour installer le module complémentaire avec OTel Container Insights activé.
CloudFormation modèle
Le modèle suivant crée l'ensemble complet de ressources dont vous avez besoin pour activer OTel Container Insights sur votre cluster Amazon EKS.
AWSTemplateFormatVersion: '2010-09-09' Description: Deploy OTel Container Insights 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-Observability-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: v6.2.0-eksbuild.1 ConfigurationValues: '{"otelContainerInsights":{"enabled":true}}' 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
-
L'extension
amazon-cloudwatch-observabilityEKS avec OTel Container Insights activé
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é
otel-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 otel-container-insights \ --template-body file://otel-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 otel-container-insights -
Vérifiez que l'état de la pile est
CREATE_COMPLETE.aws cloudformation describe-stacks \ --stack-name otel-container-insights \ --query "Stacks[0].StackStatus" \ --output text
Vérification du déploiement
Une fois la création de la CloudFormation pile 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 volet de navigation, choisissez Container Insights.
-
Vérifiez que votre cluster apparaît dans la liste des clusters et que les métriques sont renseignées.
Les métriques apparaissent généralement CloudWatch dans les 3 à 5 minutes suivant la fin du déploiement.
Supprimer le déploiement
Pour supprimer toutes les ressources créées par le CloudFormation modèle, supprimez la pile.
aws cloudformation delete-stack \ --stack-name otel-container-insights