AWS App Mesh-Beispiel-Workload auf einem Amazon-EKS-Cluster mit dem Starttyp Fargate einrichten
Gehen Sie wie folgt vor, wenn Sie App Mesh auf einem Cluster einrichten, auf dem Amazon EKS mit dem Fargate-Starttyp ausgeführt wird.
Konfigurieren Sie IAM-Berechtigungen
Geben Sie den folgenden Befehl ein, um IAM-Berechtigungen einzurichten. Ersetzen Sie MyCluster durch den Namen Ihres Clusters.
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
Installieren Sie App Mesh
Um den App-Mesh-Kubernetes-Controller zu installieren, befolgen Sie die Anweisungen in App-Mesh-Controller
Installieren einer Beispielanwendung
aws-app-mesh-Beispiele
So verwenden Sie eine App-Mesh-Beispielanwendung zum Testen von Container Insights
-
Installieren Sie die Anwendung mithilfe der folgenden Anweisungen: https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate
. Bei diesen Anweisungen wird davon ausgegangen, dass Sie einen neuen Cluster mit dem korrekten Fargate-Profil erstellen. Wenn Sie einen Amazon-EKS-Cluster verwenden möchten, den Sie bereits eingerichtet haben, können Sie die folgenden Befehle verwenden, um diesen Cluster für diese Demonstration einzurichten. Ersetzen Sie
MyClusterdurch den Namen Ihres Clusters.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-Weiterleitung der Front-Anwendungsbereitstellung:
kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080 -
Curl der Front-App:
while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie in der AWS-Region, in der Ihr Cluster ausgeführt wird, Metrics (Metriken) im Navigationsbereich aus. Die -Metriken befinden sich im ContainerInsights/Prometheus-Namespace.
-
Um die CloudWatch-Logs-Ereignisse anzuzeigen, wählen Sie im Navigationsbereich Log Groups (Protokollgruppen) aus. Die Ereignisse befinden sich in der Protokollgruppe
/aws/containerinsights/im Protokollstreamyour_cluster_name/prometheuskubernetes-pod-appmesh-envoy.
Löschen der App-Mesh-Testumgebung
Wenn Sie mit der Verwendung von App Mesh und der Beispielanwendung fertig sind, verwenden Sie die folgenden Befehle, um die nicht benötigten Ressourcen zu löschen. Löschen Sie die Beispielanwendung, indem Sie den folgenden Befehl eingeben:
cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/ kubectl delete -f _output/manifest.yaml
Löschen Sie den App-Mesh-Controller, indem Sie den folgenden Befehl eingeben:
helm delete appmesh-controller -n appmesh-system