在 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 守护进程
确保附加到 EC2 实例或 Kubernetes Worker 节点的 IAM 角色已附加了 CloudWatchAgentServerPolicy 和 AWSXRayDaemonWriteAccess 策略。
输入以下命令:
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": {} } } }