clusterAgent:# clusterAgent.enabled -- Set this to false to disable Datadog Cluster Agentenabled:true
그런 다음 Datadog Helm 차트를 업그레이드합니다.
이 작업은 자동으로 클러스터 에이전트와 Datadog 에이전트의 필수 RBAC 파일을 업데이트합니다. 양 에이전트는 동일한 API 키를 사용합니다.
오퍼레이터는 또한 일반적으로 양 클러스터 에이전트와 Datadog 에이전트가 통신을 보호하기 위해 공유하는 Secret에서 임의 토큰을 생성합니다. clusterAgent.token 설정을 사용해 수동으로 이 토큰을 지정할 수 있습니다. 대신 clusterAgent.tokenExistingSecret 설정을 통해 token 값을 포함하는 기존 Secret 이름을 참조하여 이를 설정할 수도 있습니다.
수동으로 설정하는 경우 이 토큰은 32자의 영숫자 문자여야 합니다.
Datadog 오퍼레이터 v1.0.0 이래로 클러스터 에이전트는 활성화됩니다. 오퍼레이터는 필수 RBAC를 생성하고, 클러스터 에이전트를 배포하고, 에이전트 DaemonSet 설정을 수정합니다.
오퍼레이터는 또한 일반적으로 양 클러스터 에이전트와 Datadog 에이전트가 통신을 보호하기 위해 공유하는 Secret에서 임의 토큰을 생성합니다. global.clusterAgentToken 필드를 사용해 수동으로 이 토큰을 지정할 수 있습니다. 대신 이 토큰을 포함하는 데이터 키와 기존 Secret 읾을 참조하여 이를 설정할 수도 있습니다.
이 작업은 클러스터 에이전트를 위해 적절한 ServiceAccount, ClusterRole 및 ClusterRoleBinding를 생성하고 노드 에이전트를 위해 ClusterRole를 업데이트합니다.
Azure 쿠버네티스(Kubernetes) 서비스(AKS)를 사용하는 경우 추가 권한이 필요할 수도 있습니다. AKS의 DCA용 RBAC FAQ를 참조하세요.
클러스터 에이전트 간 통신 보호
Datadog 에이전트와 클러스터 에이전트는 통신 보호를 위한 토큰을 필요로 합니다. Datadog 에이전트 및 클러스터 에이전트 모두가 환경 변수 DD_CLUSTER_AGENT_AUTH_TOKEN에서 참조할 수 있는 이 토큰을 Secret에 저장해 두는 것이 좋습니다. 그러면 일관성을 유지하고 PodSpec에서 토큰을 읽는 것을 방지할 수 있습니다.
이 토큰을 생성하려면, 이 한 줄의 명령을 실행하고 token 세트를 사용해 이름이 datadog-cluster-agent인 Secret을 생성합니다. 32개 영숫자 문자로 <TOKEN>을 교체합니다.
기본적으로 cluster-agent-deployment.yaml 매니페스트는 Secretdatadog-cluster-agent에서 이전에 생성한 토큰을 참조합니다. 다른 방법으로 이 토큰을 저장한 경우 DD_CLUSTER_AGENT_AUTH_TOKEN 환경 변수를 설정하세요.
참고: Datadog 클러스터 에이전트에서 Datadog 사이트()에 환경 변수 DD_SITE를 설정하세요. 기본적으로 US 사이트인 datadoghq.com입니다.
확인
이 시점에서 다음을 확인할 수 있습니다.
kubectl get deploy
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
datadog-cluster-agent 1111 1d
kubectl get secret
NAME TYPE DATA AGE
datadog-cluster-agent Opaque 1 1d
kubectl get pods -l app=datadog-cluster-agent
datadog-cluster-agent-8568545574-x9tc9 1/1 Running 0 2h
kubectl get service -l app=datadog-cluster-agent
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
datadog-cluster-agent ClusterIP 10.100.202.234 none 5005/TCP 1d
참고: 이미 Datadog 에이전트가 실행 중인 경우 클러스터 에이전트가 실행을 시작하기 전 에이전트 rbac.yaml 매니페스트를 적용해야 할 수 있습니다.
Datadog 에이전트 통신 설정
Datadog 에이전트 설정을 수정하여 Datadog 클러스터 에이전트와 통신하세요.
기존 DaemonSet 매니페스트 파일에서 환경 변수 DD_CLUSTER_AGENT_ENABLED를 true로 설정하세요. 그런 다음 클러스터 에이전트 간 통신 보호에서 사용한 동일한 구문으로 DD_CLUSTER_AGENT_AUTH_TOKEN을 설정하세요.
추가로 에이전트 상태 출력을 사용해 Datadog 에이전트가 클러스터 에이전트에 연결되어 있는지 확인할 수 있습니다.
kubectl exec -it <AGENT_POD_NAME> agent status
[...]=====================Datadog Cluster Agent===================== - Datadog Cluster Agent endpoint detected: https://10.104.246.194:5005
Successfully connected to the Datadog Cluster Agent.
- Running: 1.11.0+commit.4eadd95
쿠버네티스(Kubernetes) 이벤트가 Datadog 계정으로 들어오기 시작합니다. 에이전트가 수집한 관련 메트릭은 해당되는 클러스터 수준 메타데이터로 태그 지정됩니다.
윈도우즈(Windows) 컨테이너
Datadog 클러스터 에이전트만 리눅스(Linux) 노드에 배포할 수 있습니다.
윈도우즈(Windows) 컨테이너를 모니터링하려면 혼합된 클러스터에서 Helm 차트 두 개를 설치해야 합니다. 첫 번째 Helm 차트는 Datadog 클러스터 에이전트와 리눅스용 에이전트 DaemonSet를 배포합니다(targetSystem: linux 사용). 두 번째 Helm 차트(targetSystem: windows 사용) 윈도우즈 노드에서 에이전트만 배포하고 첫 번째 Helm 차트의 일부로 배포된 기존 클러스터 에이전트에 연결합니다.
다음 values.yaml 파일을 사용해 윈도우즈 노드와 클러스터 에이전트에 배포된 에이전트 간 통신을 설정합니다.
targetSystem:windowsexistingClusterAgent:join:trueserviceName:"<EXISTING_DCA_SECRET_NAME>"# from the first Datadog Helm charttokenSecretName:"<EXISTING_DCA_SERVICE_NAME>"# from the first Datadog Helm chart# Disable datadogMetrics deployment since it should have been already deployed with the first chart.datadog-crds:crds:datadogMetrics:false# Disable kube-state-metrics deploymentdatadog:kubeStateMetricsEnabled:false
MSK, ElastiCache 또는 RDS 등 AWS 매니지드 서비스를 모니터링하려면 clusterChecksRunner를 설정하여 Helm 차트에서 serviceAccountAnnotation을 통해 할당된 IAM 역할이 포함된 포드를 생성합니다. 그런 다음 clusterAgent.confd 아래에서 통합 설정을 설정합니다.
clusterChecksRunner:enabled:truerbac:# clusterChecksRunner.rbac.create -- If true, create & use RBAC resourcescreate:truededicated:trueserviceAccountAnnotations:eks.amazonaws.com/role-arn:arn:aws:iam::***************:role/ROLE-NAME-WITH-MSK-READONLY-POLICYclusterAgent:confd:amazon_msk.yaml:|- cluster_check: true
instances:
- cluster_arn: arn:aws:kafka:us-west-2:*************:cluster/gen-kafka/*******-8e12-4fde-a5ce-******-3
region_name: us-west-2
참고 자료
Additional helpful documentation, links, and articles: