Skip to content

Jaeger on Istio

kimhyungkook edited this page Mar 6, 2019 · 4 revisions

# 간략 설명

분산 추적 시스템 (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

아키텍쳐

install

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 &

http://localhost:16686

  • 2 jaeger-query 를 LoadBalancer 로 변경 후 해당 http://:16686 으로 접속
  • 3 tracing 을 LoadBalancer 로 변경 후 해당 http://:80 으로 접속

나중에 kiali 를 설치할적에 해당 url 이 필요하니, 2번과 3번으로 설정하여 쓰는 것을 추천한다.

Clone this wiki locally