2.6. Jaeger 모니터링을 위한 Fuse Online 구성 정보
Jaeger는 분산 서비스 간의 트랜잭션을 추적하기 위한 오픈 소스 소프트웨어입니다. 특히 복잡한 마이크로 서비스 환경을 모니터링하고 해결하는 데 유용합니다.
OperatorHub에서 또는 명령줄 스크립트를 사용하여 Fuse Online을 설치할 때 Fuse Online 설치는 OperatorHub의 존재를 감지하고 OperatorHub의 서브스크립션 기능을 사용하여 Jaeger를 설치합니다. OperatorHub를 사용할 수 없는 제한된 환경의 경우 Fuse Online은 자체 설치 기능을 사용하여 Jaeger를 설치합니다.
기본 Fuse Online 환경은 필요한 모든 Jaeger 구성 요소를 구성합니다. 선택적으로 Fuse Online 사용자 정의 리소스를 편집하여 클라이언트 전용/독립 실행형 서버 구성 또는 하이브리드 Jaeger 클라이언트 및 Jaeger Operator 구성을 지정할 수 있습니다.
기본 Jaeger 구성
기본 제공되는 기본 구성 요소에는 모든 Jaeger 구성 요소가 포함됩니다. 모니터링 기능을 실험하여 Jaeger의 작동 방식에 대한 교육을 시작할 수 있습니다. 기본 구성은 메모리 전용, 제한된 백엔드 스토리지 기능을 제공합니다.
기본 Jaeger 구성으로 Fuse Online을 설치하면 다음과 같은 결과가 발생합니다.
- Fuse Online 구성 요소에는 Jaeger 통신 URL이 있습니다.
- Jaeger Operator가 설치되어 있습니다.
- Jaeger 사용자 정의 리소스는 활동 모니터링을 위한 기본 구성으로 구성됩니다.
기본 Jaeger 구성이 포함된 Fuse Online 설치에는 다음과 같은 개요 사용자 정의 리소스
사양이 있습니다.
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true
apiVersion: syndesis.io/v1beta2
kind: Syndesis
metadata:
name: app
spec:
addons:
jaeger:
enabled: true
clientOnly
및 operatorOnly
가 지정되지 않은 경우(기본적으로 false
로 설정) Fuse Online에서 제공된 Jaeger 백엔드와 Jaeger 서버 구성에서 제공하는 기본 메모리 전용 스토리지를 사용합니다.
클라이언트 전용/독립 실행형 서버 구성
클라이언트 전용/독립 실행형 서버 구성을 사용하면 클라이언트 URL 연결만 Fuse Online과 외부적으로 구성된 Jaeger 백엔드 간의 통신을 위해 구성됩니다. Jaeger 백엔드의 모든 측면은 외부적이고 Fuse Online 환경 및 syndesis-operator
와 독립적입니다. 여기에는 Jaeger Operator 및 Jaeger 사용자 정의 리소스가 포함됩니다.
클라이언트 전용 Jaeger 구성을 설치하려면 다음과 같이 Fuse Online을 설치하기 전에 사용자 정의 리소스를 편집합니다.
-
Jaeger 에이전트 기능을 추가하려면
clientOnly
를true
로 설정합니다. -
개별적으로 설치된 Jaeger 백엔드의 쿼리 구성 요소의 URI로
query
Uri 를 설정합니다. -
collectorUri
를 독립적으로 설치된 Jaeger 백엔드의 수집기 구성 요소의 URI로 설정합니다.
예를 들면 다음과 같습니다.
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true clientOnly: true queryUri: http://jaeger-query-hostname:443/api collectorUri: http://jaeger-collector-hostname:14268/api/traces
apiVersion: syndesis.io/v1beta2
kind: Syndesis
metadata:
name: app
spec:
addons:
jaeger:
enabled: true
clientOnly: true
queryUri: http://jaeger-query-hostname:443/api
collectorUri: http://jaeger-collector-hostname:14268/api/traces
하이브리드 Jaeger 클라이언트 및 Operator 구성
하이브리드 Jaeger 클라이언트 및 Jaeger Operator 구성을 사용하면 Fuse Online에서 Jaeger Operator 및 Jaeger 클라이언트 기능을 설치합니다. Jaeger 사용자 정의 리소스가 설치되지 않았습니다. Jaeger 서버 구성을 정의하는 자체 Jaeger 사용자 정의 리소스를 설치해야 합니다. 이를 통해 Fuse 온라인 제공 기능을 활용하고 자체 환경에 맞게 Jaeger 구성을 조정할 수 있습니다(예: 데이터 스토리지에 Elasticsearch 또는 Cryostat를 사용할 수 있습니다.
하이브리드 Jaeger 클라이언트 및 Jaeger Operator 구성을 설치하려면 다음을 수행합니다.
다음 예와 같이 Fuse Online을 설치하기 전에 사용자 지정 리소스를 편집합니다.
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true operatorOnly: true
apiVersion: syndesis.io/v1beta2 kind: Syndesis metadata: name: app spec: addons: jaeger: enabled: true operatorOnly: true
Copy to Clipboard Copied! 다음 예와 같이 Jaeger 사용자 정의 리소스
syndesis-jaeger
의 이름을 지정합니다.apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: syndesis-jaeger ... spec: ....
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: syndesis-jaeger ... spec: ....
Copy to Clipboard Copied! 참고: 또는 Jaeger 사용자 정의 리소스에 다른 이름을 사용하려면 클라이언트 전용/독립 실행형 서버 구성 섹션에 설명된 대로 Syndesis 사용자 정의 리소스에서
queryUri
및collectorUri
를 설정합니다.
syndesis-jaeger
이름이 있는 Jaeger 사용자 정의 리소스가 생성되면 Jaeger 인스턴스는 Fuse Online 통합에서 데이터를 수집합니다. 기본적으로 이 데이터는 Fuse Online 활동 로그에 표시되지 않습니다. Fuse Online 활동 로그에서 이 데이터를 보려면 다음 서비스를 생성합니다.
oc create -f - <<EOF apiVersion: v1 kind: Service metadata: labels: app: syndesis syndesis.io/app: syndesis syndesis.io/type: infrastructure syndesis.io/component: jaeger name: noauth-syndesis-jaeger-query spec: ports: - name: query port: 443 protocol: TCP targetPort: 16686 selector: app: jaeger app.kubernetes.io/name: syndesis-jaeger EOF
oc create -f - <<EOF
apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/type: infrastructure
syndesis.io/component: jaeger
name: noauth-syndesis-jaeger-query
spec:
ports:
- name: query
port: 443
protocol: TCP
targetPort: 16686
selector:
app: jaeger
app.kubernetes.io/name: syndesis-jaeger
EOF