在具有 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