在 Amazon EKS 或 Kubernetes 上部署 CloudWatch 代理和 X-Ray 守护程序 - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 Amazon EKS 或 Kubernetes 上部署 CloudWatch 代理和 X-Ray 守护程序

这些主题介绍如何在 Amazon EKS 或 Kubernetes 上安装 X-Ray 守护程序和 CloudWatch 代理。

在 Amazon EKS 或 Kubernetes 上部署 X-Ray 守护程序

要在 Amazon EKS 或 Kubernetes 上安装 CloudWatch 代理和 X-Ray 守护程序,您可以使用快速设置。

在 Amazon EKS 或 Kubernetes 上安装 CloudWatch 代理和 X-Ray 守护程序

  1. 确保附加到 EC2 实例或 Kubernetes 工作线程节点的 IAM 角色已附加 CloudWatchAgentServerPolicyAWSXRayDaemonWriteAccess 策略。

  2. 输入以下命令:

    curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/master/k8s-deployment-manifest-templates/deployment-mode/daemonset/cwagent-fluentd-xray/cwagent-fluentd-xray-quickstart.yaml | sed "s/{{cluster_name}}/cluster-name/;s/{{region_name}}/region/" | kubectl apply -f -

快速入门的用途

此部分介绍 CloudWatch 代理和 X-Ray 守护程序的快速设置。

  • 快速设置通过 kubectl apply -f 命令使用以下文件内容安装 X-Ray 守护程序。

    apiVersion: apps/v1 kind: DaemonSet metadata: name: xray-daemon namespace: amazon-cloudwatch spec: selector: matchLabels: name: xray-daemon template: metadata: labels: name: xray-daemon spec: containers: - name: xray-daemon image: amazon/aws-xray-daemon:latest imagePullPolicy: Always ports: - containerPort: 2000 hostPort: 2000 protocol: UDP resources: limits: cpu: 100m memory: 256Mi requests: cpu: 50m memory: 50Mi terminationGracePeriodSeconds: 60
  • 快速设置使用 Docker 映像版本/标签 1.231221.0 或更高版本或最新版本更新 CloudWatch 代理。您可以在 https://hub.docker.com/r/amazon/cloudwatch-agent 上查找映像。

  • 为了使 X-Ray 软件开发工具包能够读取集群名称和区域信息,快速设置将使用 Docker 映像版本/标签 1.231221.0 或更高版本或最新版本更新 CloudWatch 代理。您可以在 https://hub.docker.com/r/amazon/cloudwatch-agent 上查找映像。

  • 为了使 X-Ray 软件开发工具包能够读取集群名称和区域信息,快速设置创建了一个包含以下内容的文件,然后使用 kubectl apply -f 命令应用该文件。

    --- # create role binding for XRay SDK to read config map apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: container-insights-discovery-role namespace: amazon-cloudwatch rules: - apiGroups: - "" resourceNames: - cluster-info resources: - configmaps verbs: - get --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: service-users-cloudwatch-discovery-role-binding namespace: amazon-cloudwatch roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: container-insights-discovery-role subjects: - apiGroup: rbac.authorization.k8s.io kind: Group name: system:serviceaccounts
  • 快速设置会显示接收 X-Ray 软件开发工具包指标的 CloudWatch 代理端口。默认端口为 UDP 25888。

    ports: - containerPort: 25888 hostPort: 25888 protocol: UDP
  • 快速设置将代理配置 JSON 与带以下 JSON 的 X-Ray 软件开发工具包指标配置合并。

    { "logs": { "metrics_collected": { "emf": {} } } }