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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置Amazon App Mesh具有 Fargate 启动类型的 Amazon EKS 集群上的示例工作负载

如果您正在使用 Fargate 启动类型运行 Amazon EKS 的集群上设置 App Mesh,请使用以下说明。

配置 IAM 权限

要设置 IAM 权限,请输入以下命令。ReplaceMyCluster替换为您集群的名称。

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 发布类型按照亚马逊 EKS 的说明进行操作。

安装示例应用程序

Amazon 应用程序网格示例包含多个 Kubernetes App Mesh 演练。在本教程中,您将安装一个适用于具有 Fargate 启动类型的 Amazon EKS 集群的示例颜色应用程序。

使用示例应用 Mesh 应用程序测试容器见解

  1. 使用以下说明安装应用程序:https://github.com/aws/aws-app-mesh-examples/tree/master/walkthroughs/howto-k8s-fargate

    这些说明假定您正在创建具有正确 Fargate 配置文件的新集群。如果要使用已设置的 Amazon EKS 集群,可以使用以下命令为本演示设置该集群。ReplaceMyCluster替换为您集群的名称。

    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. 卷曲前面的应用程序:

    while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
  4. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  5. 在Amazon运行集群的区域,选择指标在导航窗格中。该指标位于集装箱景观/Prometheus命名空间。

  6. 要查看 CloudWatch Logs 事件,请选择日志组在导航窗格中。这些事件位于日志组 /aws/containerinsights/your_cluster_name/prometheus 日志流中的kubernetes-pod-appmesh-envoy

删除 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