Telemetry 도구

Telemetry 도구

Kiali란

  • Kubernetes SVC 간의 요청을 시각적으로 볼 수 있게 해주는 툴
  • Kiali를 이용해 실시간으로 애플리케이션 변경 가능
    • VirtualServices 사용해 DDos 공격시 특정 노드의 트래픽을 차단 가능
    • Kiali의 svc 우클릭 > Actions > weighted routing 클릭 시 yaml 파일 자동 생성
      kubectl get vs
      kubectl get virtualservices
      
      kubectl get destinationrules
  • Istio를 활용한 다양한 기능
    • Canary Release
    • A/B Testing
    • 프로덕션 클러스터에 Test Deploy 가능

Open Tracing

  • Vendor Neutral Tracing API
  • jaeger와 zipkin

Jaeger

  • Uber가 개발
  • istio 내장 tracing tool

Zipkin

  • twitter가 개발
  • istio 내장 tracing tool

Jaeger

  • Kiali는 유용하지만 개별 요청의 디테일한 정보는 알 수 없음
  • 개별 요청에 대한 정보를 보기 위해 Jaeger를 사용
  • Upstream Request : Webapp(pod) -> API Gateway(pod) -> Staff Service(pod)
  • Downstream Response: Webap <- API Gateway <- Staff Service

traces와 span

  • 요청이 시스템에 있는 여러 마이크로서비스를 통과하는 과정을 추적한 것
  • 각각의 개별 타이밍 요소를 span이라고 함
  • web app의 span이 10s: 요청을 보내고 돌려받을 때 까지 걸린 시간을 의미
  • 같은 이름의 span이 두개가 보이는 것은 컨테이너의 요청과 프록시의 요청을 전부 추적하기 때문
    • 하나는 컨테이너의 요청과 응답 span이고 하나는 proxy의 요청과 응답을 추적한 것

xrequest 헤더 확산

  • xrequest 헤더를 확산하지 않으면 하나의 span에 대해 여러 trace가 만들어질 수 있음

출처

https://kdeon.tistory.com/122 https://www.udemy.com/course/kubernetes-istio-hands-on/learn/lecture/31482912?start=45#content