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

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

在具有 EC2 启动类型或 Kubernetes AWS App Mesh 集群的 集群上设置Amazon EKS示例工作负载

如果要在 App Mesh EC2 启动类型或 Kubernetes 集群上运行的集群Amazon EKS上设置 ,请参阅这些说明。

配置 IAM 权限

必须将 AWSAppMeshFullAccess 策略添加到您的 IAM 或 Kubernetes 节点组的 Amazon EKS 角色中。在 Amazon EKS 上,此节点组名称类似于 eksctl-integ-test-eks-prometheus-NodeInstanceRole-ABCDEFHIJKL。在 Kubernetes 上,它可能类似于 nodes.integ-test-kops-prometheus.k8s.local

安装 App Mesh

要安装 App Mesh Kubernetes 控制器,请按照 App Mesh Controller 中的说明操作。

安装示例应用程序

aws-app-mesh-examples 包含多个 Kubernetes App Mesh 演练。在本教程中,您将安装一个示例颜色应用程序,该应用程序显示 http 路由如何使用标头来匹配传入请求。

使用示例App Mesh应用程序测试 Container Insights

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

  2. 启动 curler pod 以生成流量:

    kubectl -n default run -it curler --image=tutum/curl /bin/bash
  3. 通过更改 HTTP 标头来 Curl different endpoints。多次运行 curl 命令,如下所示:

    curl -H "color_header: blue" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo; curl -H "color_header: red" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo; curl -H "color_header: yellow" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
  4. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  5. 在运行集群的 AWS 区域中,选择导航窗格中的 Metrics (指标)。指标位于 ContainerInsights 命名空间中。

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

删除App Mesh测试环境

在使用完 App Mesh 和示例应用程序后,请使用以下命令删除不必要的资源。输入以下命令删除示例应用程序:

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

输入以下命令删除App Mesh控制器:

helm delete appmesh-controller -n appmesh-system