jaeger-kubernetes 는 현재 deprecated 되었고 jaeger-operator 를 권고하고 있다. 이 글은 jaeger-kubernetes 기준으로 진행하면서 직접 사용하기까지의 기록을 담은 글이다.
이 글 대신 jaeger-operator 을 사용하는 내용을 보고 싶으면 여기로 가면 된다.
1. YML 설정 구성 다운로드
https://github.com/diazjf/meow-micro/blob/main/jaeger/jaeger-all-in-one.yaml (https://github.com/jaegertracing/jaeger-kubernetes 에서 제공하는 apiVersion 을 일부 수정) 을 적용한다.
$ kubectl apply -f jaeger-all-in-one.yaml
deployment.apps/jaeger created
service/jaeger-query created
service/jaeger-collector created
service/jaeger-agent created
service/zipkin created
2. Pod 생성 확인
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
jaeger-f49f98765-l92v8 0/1 ContainerCreating 0 5s
svclb-jaeger-query-7q8lm 1/1 Running 0 5s
3. nginx-ingress controller 에 tracing 설정 적용을 위한 configmap 수정
# configmap 작성
$ vi jaeger-agency-configmap.yml
# jaeger-agency-configmap.yml apiVersion: v1 kind: ConfigMap data: enable-opentracing: "true" jaeger-collector-host: jaeger-agent.default.svc.cluster.local metadata: name: ingress-nginx-controller namespace: ingress-nginx |
# configmap 적용
$ kubectl apply -f jaeger-agency-configmap.yml
configmap/ingress-nginx-controller configured
4. 활성화 확인
# ingress-nginx-controller pod 이름 조회
$ kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
svclb-ingress-nginx-controller-xswmx 2/2 Running 0 121m
ingress-nginx-admission-create-rm4fk 0/1 Completed 0 121m
ingress-nginx-admission-patch-j72np 0/1 Completed 1 121m
ingress-nginx-controller-5b6f946f99-wj5vx 1/1 Running 0 121m
# tracing 관련 설정이 로드되었는지 확인
$ kubectl exec -it ingress-nginx-controller-5b6f946f99-wj5vx -n ingress-nginx -- bash -c "cat nginx.conf | grep ngx_http_opentracing_module.so"
load_module /etc/nginx/modules/ngx_http_opentracing_module.so;
$ kubectl exec -it ingress-nginx-controller-5b6f946f99-wj5vx -n ingress-nginx -- bash -c "cat nginx.conf | grep jaeger"
opentracing_load_tracer /usr/local/lib/libjaegertracing_plugin.so /etc/nginx/opentracing.json;
$ kubectl exec -it ingress-nginx-controller-5b6f946f99-wj5vx -n ingress-nginx -- bash -c "cat /etc/nginx/opentracing.json"
{
"service_name": "nginx",
"propagation_format": "jaeger",
"sampler": {
"type": "const",
"param": 1,
"samplingServerURL": "http://127.0.0.1:5778/sampling"
},
"reporter": {
"endpoint": "",
"localAgentHostPort": "jaeger-agent.default.svc.cluster.local:6831"
},
"headers": {
"TraceContextHeaderName": "",
"jaegerDebugHeader": "",
"jaegerBaggageHeader": "",
"traceBaggageHeaderPrefix": ""
}
}
5. Jaeger UI 확인
http://localhost:8081 로 접속하여 페이지 확인
'프로그래밍 > 네트워크' 카테고리의 다른 글
[K8S] nodePort, port, targetPort 구분 (0) | 2022.06.08 |
---|---|
[K8S] Jaeger 설치 (jaeger-operator) (0) | 2022.06.08 |
[Apache] mod_rewrite 간략 정리 (0) | 2016.08.08 |
[Network] 인터넷 속도 단위 (0) | 2016.03.27 |
[Network] Torrent Magnet URI 구조 (0) | 2016.03.27 |