使用 Fargate 启动类型在 Amazon EKS 集群上设置 Amazon App Mesh 示例工作负载 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Fargate 启动类型在 Amazon EKS 集群上设置 Amazon 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/master/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. 在集群运行的 Amazon 区域的导航窗格中,选择 Metrics(指标)。指标位于 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