Telemetry API로 추적 설정하기

Telemetry API로 추적 설정하기

Telemetry 커스텀 리소스(Telemetry API)를 사용해서 추적 옵션을 설정하는 방법을 알려드려요.

출처: Istio 문서

본문

이 작업은 Telemetry API를 통해 Telemetry 커스텀 리소스로 추적 옵션을 설정하는 방법을 보여줘요.

Telemetry API에 대해

Telemetry API는 추적을 아주 세밀한 수준에서 제어할 수 있게 해줘요. 추적을 설정하는 권장 방법이며 Istio의 미래 기본값이에요. Telemetry API를 사용해서 다음을 할 수 있어요:

  • MESH 스코프는 메시 전체에서 추적을 활성화해요
  • NAMESPACE 스코프는 네임스페이스에서 추적을 활성화해요
  • WORKLOAD_SELECTOR는 선택된 워크로드 수준에서 추적을 활성화해요

시작하기 전에

  1. bookinfo 샘플을 설치해요.
  2. bookinfo 샘플로 트래픽을 생성해요.

추적 설정하기

다음은 Telemetry API를 사용해서 추적을 설정하는 몇 가지 예시예요:

특정 네임스페이스에서 추적 활성화

이 예시는 zipkin 백엔드로 bookinfo 네임스페이스에서 추적을 활성화해요:

apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  tracing:
    - providers:
        - name: zipkin
          proxy: zipkin.istio-system:9411
      randomSamplingPercentage: 100

메시 전체에서 추적 활성화

메시 전체에 적용되는 예시예요:

apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  tracing:
    - providers:
        - name: zipkin
          probe: zipkin.istio-system:9411
      randomSamplingPercentage: 100

특정 워크로드에 대해 추적 활성화

이 예시는 (라벨로 식별되는) 특정 워크로드에 대해 추적을 활성화해요. 기본 비율과 비교해서 더 높은 샘플링 비율을 사용하도록 추적이 설정돼요:

apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: productpage-tracing
  namespace: istio-system
spec:
  selector:
    matchLabels:
      app: productpage
  tracing:
    - providers:
        - name: zipkin
          proxy: zipkin.istio-system:9411
      randomSamplingPercentage: 100

설정 검증

추적 설정이 제대로 적용되었는지 검증해요.

정리

리소스를 정리해요.

함께 보기

  • Istio에서 분산 추적의 개요

더 알아보기 (Learn more)