Datakit Operator 설치¶
개념¶
| 필드 | 설명 |
|---|---|
namespaces、selectors |
enabled_namespaces와 enabled_labelselectors는 ddtrace 전용이며, 객체 배열입니다. namespace와 language를 지정해야 합니다. 배열 간은 'OR' 관계입니다. 현재 언어는 java만 지원합니다.Pod가 enabled_namespaces 규칙과 enabled_labelselectors를 모두 충족하는 경우 enabled_labelselectors 구성이 우선 적용됩니다. |
DDTrace 수집기 활성화¶
datakit.yaml 파일을 수정하여 기본 활성화된 수집기 구성에 DDTrace를 추가합니다.
- name: ENV_DEFAULT_ENABLED_INPUTS
value: cpu,disk,diskio,mem,swap,system,hostobject,net,host_processes,container,ddtrace
애플리케이션 재시작:
DataKit Operator 설치¶
Datakit Operator는 애플리케이션과 서비스의 배포를 자동화하고, DDTrace SDK를 자동으로 주입하며, 시작 시 애플리케이션을 계측합니다.
최신 datakit-operator.yaml 파일을 다운로드합니다:
$ kubectl create namespace datakit
$ wget https://static.guance.com/datakit-operator/datakit-operator.yaml
구성 파일 업데이트¶
참고
릴리스 번호(release)와 다이제스트(digest)를 사용하여 Java init 이미지를 고정하세요.
버전별 법적 문서, 체크섬 및 소스 코드/변경 사항에 대한 자세한 내용은 Guance Java Tracer 확장 선언을 참조하세요.
Datakit Operator 구성은 JSON 형식이며, Kubernetes에서 ConfigMap으로 별도 저장되고, 환경 변수 방식으로 컨테이너에 로드됩니다.
{
"server_listen": "0.0.0.0:9543",
"log_level": "info",
"admission_inject": {
"ddtrace": {
"enabled_namespaces": [],
"enabled_labelselectors": [],
"images": {
"java_agent_image": "pubrepo.guance.com/datakit-operator/dd-lib-java-init:latest"
},
"envs": {
"DD_JMXFETCH_STATSD_HOST": "datakit-service.datakit.svc",
"DD_JMXFETCH_STATSD_PORT": "8125",
"POD_NAME": "{fieldRef:metadata.name}",
"POD_NAMESPACE": "{fieldRef:metadata.namespace}",
"NODE_NAME": "{fieldRef:spec.nodeName}",
"DD_SERVICE": "{fieldRef:metadata.labels['service']}",
"DD_AGENT_HOST": "datakit-service.datakit.svc",
"DD_TRACE_AGENT_PORT": "9529",
"DD_TAGS": "pod_name:$(POD_NAME),pod_namespace:$(POD_NAMESPACE),host:$(NODE_NAME)"
}
},
"logfwd": {
"options": {
"reuse_exist_volume": "false"
},
"images": {
"logfwd_image": "pubrepo.guance.com/datakit/logfwd:1.28.1"
}
}
}
}
매개변수 구성:
service: 서비스 이름env: 애플리케이션 서비스의 환경 정보- 사용자 정의 DataKit 수신 주소, 설정하지 않으면 기본 주소를 따릅니다
- 프로파일링 데이터 수집: 활성화하면 애플리케이션 런타임에 대한 더 많은 정보를 볼 수 있습니다
namespaces구성selectors구성
설치 명령 실행¶
애플리케이션 재시작¶
설치가 완료되면 애플리케이션 Pod를 재시작하세요.