3.2.3. 웹 콘솔에서 분산 추적 스트리밍 전략 배포

스트리밍 배포 전략은 보다 확장 가능하고 가용성이 높은 아키텍처가 필요하고 추적 데이터의 장기 스토리지가 중요한 프로덕션 환경을 위한 것입니다.

streaming 전략은 수집기와 Elasticsearch 스토리지 사이에 있는 스트리밍 기능을 제공합니다. 이를 통해 높은 로드 상황에서 스토리지의 부담을 줄이고 다른 추적 후 처리 기능을 통해 Kafka 스트리밍 플랫폼에서 직접 실시간 데이터 범위를 사용할 수 있습니다.

참고

스트리밍 전략에는 AMQ Streams에 대한 추가 Red Hat 서브스크립션이 필요합니다. AMQ Streams 서브스크립션이 없는 경우 영업 담당자에게 자세한 내용을 문의하십시오.

참고

스트리밍 배포 전략은 현재 IBM Z에서 지원되지 않습니다.

전제 조건

  • AMQ Streams Operator가 설치되었습니다. 버전 1.4.0 이상을 사용하는 경우 자체 프로비저닝을 사용할 수 있습니다. 그러지 않으면 Kafka 인스턴스를 생성해야 합니다.
  • Red Hat OpenShift distributed tracing Platform Operator가 설치되었습니다.
  • 배포를 사용자 지정하는 방법에 대한 지침을 검토했습니다.
  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

프로세스

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. 새 프로젝트(예: tracing-system )를 만듭니다.

    참고

    Service Mesh의 일부로 설치하는 경우 분산 추적 리소스는 ServiceMeshControlPlane 리소스와 동일한 네임스페이스에 설치해야 합니다(예: istio-system ).

    1. 프로젝트로 이동합니다.
    2. Create Project를 클릭합니다.
    3. 이름 필드에 tracing-system 을 입력합니다.
    4. Create를 클릭합니다.
  3. Operators설치된 Operator로 이동합니다.
  4. 필요한 경우 프로젝트 메뉴에서 tracing-system 을 선택합니다. Operator가 새 프로젝트에 복사될 때까지 몇 분 정도 기다려야 할 수 있습니다.
  5. Red Hat OpenShift distributed tracing Platform Operator를 클릭합니다. 개요 탭의 제공된 API에서 Operator는 단일 링크를 제공합니다.
  6. Jaeger 에서 인스턴스 생성을 클릭합니다.
  7. Jaeger 생성 페이지에서 기본 all-in-one YAML 텍스트를 스트리밍 YAML 구성으로 교체합니다. 예를 들면 다음과 같습니다.

jaeger-streaming.yaml 파일 예

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: jaeger-streaming
spec:
  strategy: streaming
  collector:
    options:
      kafka:
        producer:
          topic: jaeger-spans
          #Note: If brokers are not defined,AMQStreams 1.4.0+ will self-provision Kafka.
          brokers: my-cluster-kafka-brokers.kafka:9092
  storage:
    type: elasticsearch
  ingester:
    options:
      kafka:
        consumer:
          topic: jaeger-spans
          brokers: my-cluster-kafka-brokers.kafka:9092

  1. 생성 을 클릭하여 분산 추적 플랫폼 인스턴스를 생성합니다.
  2. Jaegers 페이지에서 분산 추적 플랫폼 인스턴스의 이름을 클릭합니다(예: jaeger-streaming ).
  3. Jaeger 세부 정보 페이지에서 리소스 탭을 클릭합니다. 계속하기 전에 모든 Pod 상태가 "실행 중"이 될 때까지 기다립니다.

3.2.3.1. CLI에서 분산 추적 스트리밍 전략 배포

다음 절차에 따라 명령줄에서 분산 추적 플랫폼 인스턴스를 생성합니다.

전제 조건

  • AMQ Streams Operator가 설치되었습니다. 버전 1.4.0 이상을 사용하는 경우 자체 프로비저닝을 사용할 수 있습니다. 그러지 않으면 Kafka 인스턴스를 생성해야 합니다.
  • Red Hat OpenShift distributed tracing Platform Operator가 설치되었습니다.
  • 배포를 사용자 지정하는 방법에 대한 지침을 검토했습니다.
  • OpenShift Container Platform 버전과 일치하는 OpenShift CLI(oc)에 액세스할 수 있습니다.
  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

프로세스

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다.

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:8443
  2. tracing-system 이라는 새 프로젝트를 생성합니다.

    $ oc new-project tracing-system
  3. 이전 프로세스의 예제 텍스트가 포함된 jaeger-streaming.yaml이라는 사용자 정의 리소스 파일을 생성합니다.
  4. 다음 명령을 실행하여 Jaeger를 배포합니다.

    $ oc create -n tracing-system -f jaeger-streaming.yaml
  5. 다음 명령을 실행하여 설치 프로세스 중에 Pod의 진행 상황을 확인합니다.

    $ oc get pods -n tracing-system -w

    설치 프로세스가 완료되면 다음 예와 유사한 출력이 표시됩니다.

    NAME                                                              READY   STATUS    RESTARTS   AGE
    elasticsearch-cdm-jaegersystemjaegerstreaming-1-697b66d6fcztcnn   2/2     Running   0          5m40s
    elasticsearch-cdm-jaegersystemjaegerstreaming-2-5f4b95c78b9gckz   2/2     Running   0          5m37s
    elasticsearch-cdm-jaegersystemjaegerstreaming-3-7b6d964576nnz97   2/2     Running   0          5m5s
    jaeger-streaming-collector-6f6db7f99f-rtcfm                       1/1     Running   0          80s
    jaeger-streaming-entity-operator-6b6d67cc99-4lm9q                 3/3     Running   2          2m18s
    jaeger-streaming-ingester-7d479847f8-5h8kc                        1/1     Running   0          80s
    jaeger-streaming-kafka-0                                          2/2     Running   0          3m1s
    jaeger-streaming-query-65bf5bb854-ncnc7                           3/3     Running   0          80s
    jaeger-streaming-zookeeper-0                                      2/2     Running   0          3m39s