Menu Close
2.8.4. 3scale Operator로 OpenTracing 구성
내장 APIcast를 사용하는 3scale 설치에서는 3scale Operator를 사용하여 OpenTracing을 구성할 수 있습니다. 스테이징 또는 프로덕션 환경에서 또는 두 환경 모두에서 OpenTracing을 구성할 수 있습니다. OpenTracing을 활성화하면 APIcast 인스턴스에 대한 더 많은 통찰력과 가시성을 얻을 수 있습니다.
사전 요구 사항
- 3scale Operator가 설치되었거나 설치 중입니다.
- OpenTracing을 사용하도록 APIcast 구성에 나열된 사전 요구 사항입니다.
- Jaeger가 설치되어 있어야 합니다.
절차
stringData.config
에 OpenTracing 구성 세부 정보가 포함된 시크릿을 정의합니다. 이는 OpenTracing 구성 세부 정보가 포함된 속성에 대해 유일하게 유효한 값입니다. 다른 사양에서는 APIcast가 OpenTracing 구성 세부 정보를 수신하지 못하도록 합니다. 다음 예제에서는 유효한 보안 정의를 보여줍니다.apiVersion: v1 kind: Secret metadata: name: myjaeger stringData: config: |- { "service_name": "apicast", "disabled": false, "sampler": { "type": "const", "param": 1 }, "reporter": { "queueSize": 100, "bufferFlushInterval": 10, "logSpans": false, "localAgentHostPort": "jaeger-all-in-one-inmemory-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 } } type: Opaque
시크릿을 생성합니다. 예를 들어 이전 시크릿 정의를
myjaeger.yaml
파일에 저장한 경우 다음 명령을 실행합니다.oc create secret generic myjaeger --from-file myjaeger.yaml
OpenTracing
특성을 지정하는APIManager
사용자 지정 리소스를 정의합니다. CR 정의에서openTracing.tracingConfigSecretRef.name
속성을 OpenTracing 구성 세부 정보가 포함된 시크릿 이름으로 설정합니다. 다음 예제에서는 OpenTracing 구성을 기준으로 한 콘텐츠만 보여줍니다.apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: apimanager1 spec: apicast: stagingSpec: ... openTracing: enabled: true tracingLibrary: jaeger tracingConfigSecretRef: name: myjaeger productionSpec: ... openTracing: enabled: true tracingLibrary: jaeger tracingConfigSecretRef: name: myjaeger
OpenTracing을 구성하는
APIManager
사용자 지정 리소스를 만듭니다. 예를 들어APIManager
사용자 정의 리소스를apimanager1.yaml
파일에 저장한 경우 다음 명령을 실행합니다.oc apply -f apimanager1.yaml
다음 단계
OpenTracing이 설치된 방법에 따라 Jaeger 서비스 사용자 인터페이스에 추적이 표시되어야 합니다.
추가 리소스