- 아직 설치하지 않았다면, 헬름 차트를 설치하세요.
기본 설정은 호스트에 디렉토리를 생성하고 에이전트 내에 마운트합니다. 그런 다음 에이전트는 소켓 파일 /var/run/datadog/apm.socket
을 생성하고 수신 대기합니다. 그러면 애플리케이션 포드도 유사한 방식으로 이 볼륨을 마운트하고 동일한 소켓에 쓸 수 있습니다. 또한, datadog.apm.hostSocketPath
와 datadog.apm.socketPath
설정 값으로 경로와 소켓을 수정할 수 있습니다.
이 기능은 datadog.apm.socketEnabled
로 비활성화할 수 있습니다.
선택 사항 - TCP를 통해 트레이스을 수신하도록 Datadog 에이전트를 설정합니다.
Datadog 에이전트는 TCP를 통해 트레이스를 수신하도록 설정할 수 있습니다. 이 기능을 활성화하려면:
values.yaml
파일을 다음 APM 설정으로 업데이트하세요:datadog:
## Enable apm agent and provide custom configs
apm:
# datadog.apm.portEnabled -- Enable APM over TCP communication (port 8126 by default)
## ref: https://docs.datadoghq.com/agent/kubernetes/apm/
portEnabled: true
그런 다음 Datadog 헬름 차트를 다음 명령: helm upgrade -f values.yaml <RELEASE NAME> datadog/datadog
을 사용하여 업그레이드합니다. values.yaml
에서 운영 체제를 설정하지 않은 경우, 이 명령에 --set targetSystem=linux
or --set targetSystem=windows
를 추가합니다.
경고: 이 datadog.apm.portEnabled
매개 변수는 호스트의 포트를 엽니다. 방화벽이 애플리케이션 또는 신뢰할 수 있는 소스로부터의 액세스만 허용하는지 확인하세요. 네트워크 플러그인이 hostPorts
를 지원하지 않는 경우, 에이전트 포드 사양에 hostNetwork: true
를 추가하세요. 이렇게 하면 호스트의 네트워크 네임스페이스가 Datadog 에이전트와 공유됩니다. 이것은 또한 컨테이너에서 열린 모든 포트가 호스트에서 열린다는 것을 의미합니다. 호스트와 컨테이너에서 포트를 모두 사용하는 경우, 동일한 네트워크 네임스페이스를 공유하기 때문에 포트가 충돌하고 포드가 시작되지 않습니다. 일부 쿠버네티스 설치는 이를 허용하지 않습니다.
APM 트레이스 수집을 활성화하려면, DaemonSet 설정 파일을 열고 다음을 편집합니다:
trace-agent
컨테이너 내의 포트 8126
(호스트에서 에이전트로 트래픽 전달)에서 들어오는 데이터를 허용합니다:
# (...)
containers:
- name: trace-agent
# (...)
ports:
- containerPort: 8126
hostPort: 8126
name: traceport
protocol: TCP
# (...)
**이전 에이전트 버전(7.17 또는 이하)**을 사용하는 경우에는 위 단계 외에 datadog.yaml
트레이스 에이전트 매니페스트의 env
섹션에서 DD_APM_NON_LOCAL_TRAFFIC
와 DD_APM_ENABLED
변수를 true
로 설정하세요.
# (...)
containers:
- name: trace-agent
# (...)
env:
- name: DD_APM_ENABLED
value: 'true'
- name: DD_APM_NON_LOCAL_TRAFFIC
value: "true"
# (...)
경고: 이 hostPort
매개 변수는 호스트의 포트를 엽니다. 방화벽이 애플리케이션 또는 신뢰할 수 있는 소스로부터의 액세스만 허용하는지 확인하세요. 네트워크 플러그인이 hostPorts
를 지원하지 않는 경우, 에이전트 포드 사양에 hostNetwork: true
를 추가하세요. 이렇게 하면 호스트의 네트워크 네임스페이스가 Datadog 에이전트와 공유됩니다. 이것은 또한 컨테이너에서 열린 모든 포트가 호스트에서 열린다는 것을 의미합니다. 호스트와 컨테이너에서 포트를 모두 사용하는 경우, 동일한 네트워크 네임스페이스를 공유하기 때문에 포트가 충돌하고 포드가 시작되지 않습니다. 일부 쿠버네티스 설치는 이를 허용하지 않습니다.
APM 트레이스 수집을 활성화하려면, DaemonSet 설정 파일을 열고 다음을 편집합니다:
# (...)
containers:
- name: trace-agent
# (...)
env:
- name: DD_APM_ENABLED
value: "true"
- name: DD_APM_RECEIVER_SOCKET
value: "/var/run/datadog/apm.socket"
# (...)
volumeMounts:
- name: apmsocket
mountPath: /var/run/datadog/
volumes:
- hostPath:
path: /var/run/datadog/
type: DirectoryOrCreate
# (...)
이 설정은 호스트에 디렉토리를 생성하고 에이전트 내에 마운트합니다. 그런 다음 에이전트는 해당 디렉토리에 /var/run/datadog/apm.socket
의 DD_APM_RECEIVER_SOCKET
값을 가진 소켓 파일을 생성하고 수신 대기합니다. 애플리케이션 포드도 유사한 방식으로 이 볼륨을 마운트하고 동일한 소켓에 쓸 수 있습니다.
APM이 활성화되면 기본 설정은 호스트에 디렉토리를 생성하고 에이전트 내에 마운트합니다. 그런 다음 에이전트는 /var/run/datadog/apm/apm.socket
소켓 파일을 생성하고 수신 대기합니다. 그러면 애플리케이션 포드도 마찬가지로 이 볼륨을 마운트하고 동일한 소켓에 쓸 수 있습니다. 또한, features.apm.unixDomainSocketConfig.path
설정 값으로 경로와 소켓을 수정할 수 있습니다.
선택 사항 - TCP를 통해 트레이스를 수신하도록 Datadog 에이전트를 설정합니다.
Datadog 에이전트는 TCP를 통해 트레이스를 수신할 수 있습니다. 이 기능을 활성화하려면:
다음을 이용해 DatadogAgent
매니페스트를 업데이트합니다:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
credentials:
apiKey: <DATADOG_API_KEY>
site: <DATADOG_SITE>
features:
apm:
enabled: true
hostPortConfig:
enabled: true
<DATADOG_SITE>
의 위치는
(기본 설정은 datadoghq.com
).
전체 예제는 APM 및 메트릭 수집이 활성화된 매니페스트 샘플을 참조하세요.
그런 다음 새로운 설정을 적용합니다:
kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml
경고: 이 hostPort
매개 변수는 호스트의 포트를 엽니다. 방화벽이 애플리케이션 또는 신뢰할 수 있는 소스로부터의 액세스만 허용하는지 확인하세요. 네트워크 플러그인이 hostPorts
를 지원하지 않는 경우, 에이전트 포드 사양에 hostNetwork: true
를 추가하세요. 이렇게 하면 호스트의 네트워크 네임스페이스가 Datadog 에이전트와 공유됩니다. 이것은 또한 컨테이너에서 열린 모든 포트가 호스트에서 열린다는 것을 의미합니다. 호스트와 컨테이너에서 포트를 모두 사용하는 경우, 동일한 네트워크 네임스페이스를 공유하기 때문에 포트가 충돌하고 포드가 시작되지 않습니다. 일부 쿠버네티스 설치는 이를 허용하지 않습니다.