1.13.4. OpenShift 인스턴스에 Jaeger 설치

이 섹션에서는 실행 중인 OpenShift 인스턴스에 Jaeger 설치에 대한 정보를 제공합니다.

주의

Jaeger는 APIcast 사용을 제외하고 3scale에서 지원하지 않는 타사 구성 요소입니다. 다음 명령은 참조 예제로만 제공되며 프로덕션용으로는 적합하지 않습니다.

  1. 현재 네임스페이스에 Jaeger all-in-one을 설치합니다.

    oc process -f https://raw.githubusercontent.com/jaegertracing/jaeger-openshift/master/all-in-one/jaeger-all-in-one-template.yml | oc create -f -
  2. Jaeger 구성 파일 jaeger_config.json 을 생성하고 다음을 추가합니다.

    {
        "service_name": "apicast",
        "disabled": false,
        "sampler": {
          "type": "const",
          "param": 1
        },
        "reporter": {
          "queueSize": 100,
          "bufferFlushInterval": 10,
          "logSpans": false,
          "localAgentHostPort": "jaeger-agent:6831"
        },
        "headers": {
          "jaegerDebugHeader": "debug-id",
          "jaegerBaggageHeader": "baggage",
          "TraceContextHeaderName": "uber-trace-id",
          "traceBaggageHeaderPrefix": "testctx-"
        },
        "baggage_restrictions": {
            "denyBaggageOnInitializationFailure": false,
            "hostPort": "127.0.0.1:5778",
            "refreshInterval": 60
        }
     }
    • 샘플러 를 1로 설정하여 모든 요청을 샘플링합니다.
    • 보고서 관리자의 위치 및 대기열 크기 설정
    • 요청을 추적하는 데 사용할 TraceContextHeaderName 을 포함한 헤더 설정
  3. Jaeger 구성 파일에서 ConfigMap을 생성하고 APIcast에 마운트합니다.

    oc create configmap jaeger-config --from-file=jaeger_config.json
    oc volume dc/apicast --add -m /tmp/jaeger/ --configmap-name jaeger-config
  4. 방금 추가한 구성으로 OpenTracing 및 Jaeger를 활성화합니다.

    oc env deploymentConfig/apicast OPENTRACING_TRACER=jaeger OPENTRACING_CONFIG=/tmp/jaeger/jaeger_config.json
  5. Jaeger 인터페이스가 실행 중인 URL을 찾습니다.

    oc get route
    (…) jaeger-query-myproject.127.0.0.1.nip.io
  6. 이전 단계에서 Jaeger 인터페이스를 엽니다. 이 인터페이스는 Openshift Health 검사에서 채워지는 데이터를 보여줍니다.
  7. 마지막 단계는 전체 요청 추적을 볼 수 있도록 OpenTracing 및 Jaeger 지원을 백엔드 API에 추가하는 것입니다. 이는 사용되는 프레임워크 및 언어에 따라 백엔드마다 다릅니다. 참조 예제에서는 Jaeger와 함께 OpenTracing 사용을 참조하여 Kubernetes에서 애플리케이션 지표를 수집할 수 있습니다.

Jaeger 구성에 대한 자세한 내용은: * OpenShift 개발 설정 * Jaeger on OpenShift 프로덕션 설정 * distributed tracing on OpenShift Service Mesh에서 참조하십시오.