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 --clusterMyCluster\ --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
Installation d'un exemple d'application
aws-app-mesh-examples
Pour utiliser un exemple d'application App Mesh pour tester Container Insights
-
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
MyClusterpar le nom de votre cluster.eksctl create iamserviceaccount --clusterMyCluster\ --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 \ --approveeksctl create fargateprofile --cluster MyCluster \ --namespace howto-k8s-fargate --name howto-k8s-fargate -
Port avant le déploiement de l'application frontale :
kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080 -
Enroulez l'application frontale :
while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done Ouvrez la console CloudWatch à l’adresse https://console.aws.amazon.com/cloudwatch/
. -
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.
-
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/du flux de journauxyour_cluster_name/prometheuskubernetes-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