Datadog Operator는 오픈 소스 Kubernetes Operator로, Kubernetes 환경에서 Datadog Agent를 배포하고 구성할 수 있게 해줍니다. 이 가이드는 Operator를 사용하여 Datadog Agent를 배포하는 방법을 설명합니다.

전제 조건

  • Kubernetes v1.20.X+
  • Datadog Operator 배포를 위한 Helm
  • Datadog Agent를 설치하기 위한 Kubernetes 명령줄 도구, kubectl.

설치 및 배포

  1. Helm으로 Datadog Operator를 설치하세요:
helm repo add datadog https://helm.datadoghq.com
helm install my-datadog-operator datadog/datadog-operator
  1. API 및 애플리케이션 키로 Kubernetes 시크릿을 생성하세요:
kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY> --from-literal app-key=<DATADOG_APP_KEY>

<DATADOG_API_KEY><DATADOG_APP_KEY>Datadog API 및 애플리케이션 키로 교체합니다.

  1. DatadogAgent 배포 구성의 사양이 포함된 datadog-agent.yaml 파일을 만듭니다. 다음 샘플 구성은 메트릭, 로그 및 APM을 활성화합니다:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key
      appSecret:
        secretName: datadog-secret
        keyName: app-key
  features:
    apm:
      enabled: true
    logCollection:
      enabled: true

모든 구성 옵션은 Operator 설정 사양을 참조하세요.

  1. Datadog Agent를 배포하세요:
kubectl apply -f /path/to/your/datadog-agent.yaml

검증

kubectl get daemonsetkubectl get pod -owide를 사용해 설치를 확인합니다.

두 개의 워커 노드가 있는 클러스터에서는 각 노드에 생성된 Agent 파드를 볼 수 있어야 합니다:

$ kubectl get daemonset
NAME            DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
datadog-agent   2         2         2       2            2           <none>          5m30s

$ kubectl get pod -owide
NAME                                         READY   STATUS    RESTARTS   AGE     IP            NODE
agent-datadog-operator-d897fc9b-7wbsf        1/1     Running   0          1h      10.244.2.11   kind-worker
datadog-agent-k26tp                          1/1     Running   0          5m59s   10.244.2.13   kind-worker
datadog-agent-zcxx7                          1/1     Running   0          5m59s   10.244.1.7    kind-worker2

클린업

다음 명령은 이 가이드에서 생성한 모든 Kubernetes 리소스를 삭제합니다.

kubectl delete datadogagent datadog
helm delete my-datadog-operator

참고 자료