-
Notifications
You must be signed in to change notification settings - Fork 2
Jaeger on Istio
분산 추적 시스템 (Distributed Tracing)
Go 언어로 개발됨
Cloud Native Computing Foundation(CNCF)에서 hosting
Uber 기술로 부터 나온 분산 추적 시스템
MSA 환경에서 트위터에서 개발한 Zipken 이 가장 많이 사용중이지만
Jeager는 쿠버네티스를 위한 분산 추적 시스템으로 개발되었음
참고 :
https://www.oss.kr/info_techtip/show/5af264af-0603-4f2b-b735-dfd7918a5921
istio 를 설치하면 자동으로 설치가 된다.
istio 설치시 istio-demo.yaml or istio-demo-auth.yaml template 으로 설치를 하였으면 tracing 옵션이 기본으로 켜져있다.
다만 helm 으로 설치시 --set tracing.enabled=true 옵션을 주어야 한다.
설치 버전은 istio 버전에 따라서 자동으로 올라간다.
예를들어 istio 1.0.5 버전 설치시 jaeger 도 1.5 버전으로 설치가 된다.
참고 : 개별 설치시 아래 site 를 참고하여 설치하면 됨
docker 설치 : https://github.com/jaegertracing/jaeger-kubernetes
helm 설치 : https://github.com/helm/charts/tree/master/incubator/jaeger
> kubectl get svc -n istio-system -l app=jaeger
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
jaeger-agent ClusterIP None <none> 5775/UDP,6831/UDP,6832/UDP 1d
jaeger-collector ClusterIP 100.64.200.83 <none> 14267/TCP,14268/TCP 1d
jaeger-query LoadBalancer 100.64.66.203 xxx 16686:31884/TCP 1d
tracing LoadBalancer 100.70.238.245 xxx 80:30008/TCP 1d
zipkin ClusterIP 100.69.43.85 <none> 9411/TCP 1d
아래의 3가지 방법으로 접속이 가능하다.
- 1 port-forwarding 방식으로 로컬로 접속
> kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}') 16686:16686 &
- 2 jaeger-query 를 LoadBalancer 로 변경 후 해당 http://:16686 으로 접속
- 3 tracing 을 LoadBalancer 로 변경 후 해당 http://:80 으로 접속
나중에 kiali 를 설치할적에 해당 url 이 필요하니, 2번과 3번으로 설정하여 쓰는 것을 추천한다.