Configuration d'un exemple d'application AWS App Mesh sur un cluster Amazon EKS avec le type de lancement Fargate - Amazon CloudWatch

Configuration d'un exemple d'application AWS App Mesh sur un cluster Amazon EKS avec le type de lancement Fargate

Utilisez ces instructions si vous configurez App Mesh sur un cluster exécutant Amazon EKS avec le type de lancement Fargate.

Configuration des autorisations IAM

Pour configurer les autorisations IAM, saisissez la commande suivante : Remplacez MyCluster par le nom de votre cluster.

eksctl create iamserviceaccount --cluster MyCluster \ --namespace howto-k8s-fargate \ --name appmesh-pod \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \ --override-existing-serviceaccounts \ --approve

Installation d'App Mesh

Pour installer le contrôleur App Mesh Kubernetes, suivez les instructions dans App Mesh Controller. Veillez à suivre les instructions pour Amazon EKS avec le type de lancement Fargate.

Installation d'un exemple d'application

aws-app-mesh-examples contient plusieurs démonstrations Kubernetes App Mesh. Pour ce didacticiel, vous installez un exemple d'application de couleur qui fonctionne pour les clusters Amazon EKS avec le type de lancement Fargate.

Pour utiliser un exemple d'application App Mesh pour tester Container Insights
  1. Installez l'application en suivant ces instructions : https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate.

    Ces instructions supposent que vous créez un nouveau cluster avec le bon profil Fargate. Si vous souhaitez utiliser un cluster Amazon EKS que vous avez déjà configuré, vous pouvez utiliser les commandes suivantes pour configurer ce cluster pour cette démonstration. Remplacez MyCluster par le nom de votre cluster.

    eksctl create iamserviceaccount --cluster MyCluster \ --namespace howto-k8s-fargate \ --name appmesh-pod \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \ --override-existing-serviceaccounts \ --approve
    eksctl create fargateprofile --cluster MyCluster \ --namespace howto-k8s-fargate --name howto-k8s-fargate
  2. Port avant le déploiement de l'application frontale :

    kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
  3. Enroulez l'application frontale :

    while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
  4. Ouvrez la console CloudWatch à l’adresse https://console.aws.amazon.com/cloudwatch/.

  5. Dans la région AWS où votre cluster s'exécute, choisissez Metrics (Métriques) dans le panneau de navigation de gauche. Les métriques se trouvent dans l'espace de noms ContainerInsights/Prometheus.

  6. Pour afficher les événements CloudWatch Logs, choisissez Log groups (Groupes de journaux) dans le panneau de navigation. Les évènements sont dans le groupe de journaux /aws/containerinsights/your_cluster_name/prometheus du flux de journaux kubernetes-pod-appmesh-envoy.

Suppression de l'environnement de test App Mesh

Lorsque vous avez terminé d'utiliser App Mesh et l'exemple d'application, utilisez les commandes suivantes pour supprimer les ressources inutiles. Supprimez l'exemple d'application en saisissant la commande suivante :

cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/ kubectl delete -f _output/manifest.yaml

Supprimez App Mesh Controller en saisissant la commande suivante :

helm delete appmesh-controller -n appmesh-system