(可选)设置 AWS App Mesh 样本工作量 Amazon EKS 和Kubernetes - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

(可选)设置 AWS App Mesh 样本工作量 Amazon EKS 和Kubernetes

CloudWatch Container Insights 中 Prometheus 支持的测试版支持 AWS App Mesh。本部分介绍如何设置 App Mesh。

CloudWatch Container Insights 还可以收集 App Mesh Envoy 访问日志。有关更多信息,请参阅 (可选)启用 App Mesh Envoy 访问日志。。)

配置 IAM 权限

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

安装 App Mesh

要安装 App Mesh Kubernetescontroller,按照 应用程序网格控制器.

安装样本应用程序

aws-app网目示例 包含若干Kubernetes App Mesh 走查。在本教程中,您可以安装彩色应用程序示例,显示http路径如何使用标题来匹配拨入请求。

使用样本 App Mesh 容器见解测试应用程序

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

  2. 启动culerpod以产生流量:

    kubectl -n default run -it curler --image=tutum/curl /bin/bash
  3. 通过更改HTTPS标题来更改不同的端点。多次运行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. 在运行群集的AW区域,选择 指标 位于导航窗格。该指标位于 ContainerInsights/Prometheus 命名空间。

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

删除 App Mesh 测试环境

当您使用完AppMesh和示例应用程序后,使用下列命令删除不必要的资源。通过输入下列命令删除示例应用程序:

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