在具有 Fargate 啟動類型的 Amazon EKS 叢集上設定AWS App Mesh範例工作負載 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在具有 Fargate 啟動類型的 Amazon EKS 叢集上設定AWS App Mesh範例工作負載

如果您要在執行 Amazon EKS 且具有 Fargate 啟動類型的叢集上設定 App Mesh,請使用這些指示。

設定 IAM 許可

若要設定 IAM 許可,請輸入以下命令。將 MyCluster 取代為您的叢集名稱。

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

安裝 App Mesh

若要安裝 App Mesh Kubernetes 控制器,請遵循 App Mesh 控制器中的說明進行。對於具有 Fargate 啟動類型的 Amazon EKS,請務必遵循指示。

安裝範例應用程式

aws-app-mesh-examples 包含數個 Kubernetes App Mesh 演練。在本教學課程中,您將安裝適用於具有 Fargate 啟動類型的 Amazon EKS 叢集的範例色彩應用程式。

若要使用範例 App Mesh 應用程式來測試 Container Insights
  1. 使用這些指示安裝應用程式:https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate

    這些指示假設您正在建立一個具有正確 Fargate 設定檔的新叢集。對於此示範,如果您想要使用已經設定的 Amazon EKS 叢集,可以使用下列命令來設定該叢集。將 MyCluster 取代為您的叢集名稱。

    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. 前端應用程式部署的連接埠:

    kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
  3. Curl 前端應用程式:

    while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
  4. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  5. 在叢集執行的AWS區域中,選擇導覽窗格中的指標。指標位於 ContainerInsights/Prometheus 命名空間中。

  6. 若要查看 CloudWatch Logs 事件,請在導覽窗格中選擇 Log groups (日誌群組)。事件位於日誌串流 kubernetes-pod-appmesh-envoy 中的 日誌群組 /aws/containerinsights/your_cluster_name/prometheus 中。

刪除 App Mesh 測試環境

當您使用完 App Mesh 和範例應用程式時,請使用以下命令刪除不必要的資源。輸入下列命令以刪除範例應用程式:

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

輸入以下命令以刪除 App Mesh 控制器:

helm delete appmesh-controller -n appmesh-system