1.2. Red Hat build of OpenTelemetry 3.0
Red Hat build of OpenTelemetry 3.0은 OpenTelemetry 0.89.0을 기반으로 합니다.
1.2.1. 새로운 기능 및 개선 사항
이번 업데이트에서는 다음과 같은 향상된 기능이 도입되었습니다.
- OpenShift distributed tracing data collection Operator 는 OpenTelemetry Operator의 Red Hat 빌드 로 이름이 변경됩니다.
- ARM 아키텍처 지원
- 메트릭 컬렉션에 대한 Prometheus 수신자를 지원합니다.
- Kafka에 추적 및 메트릭을 전송하는 Kafka 수신자 및 내보내기를 지원합니다.
- 클러스터 전체 프록시 환경 지원
-
Red Hat build of OpenTelemetry Operator는 Prometheus 내보내기가 활성화된 경우 Prometheus
ServiceMonitor
사용자 정의 리소스를 생성합니다. -
Operator는 업스트림 OpenTelemetry 자동 복원 라이브러리를 삽입할 수 있는
Instrumentation
사용자 정의 리소스를 활성화합니다.
1.2.2. 제거 알림
- Red Hat build of OpenTelemetry 3.0에서는 Jaeger 내보내기가 제거되었습니다. 버그 수정 및 지원은 2.9 라이프사이클 종료 시에만 제공됩니다. Jaeger 수집기에 데이터를 전송하기 위한 Jaeger 내보내기 대신 OTLP 내보내기를 대신 사용할 수 있습니다.
1.2.3. 버그 수정
이번 업데이트에서는 다음과 같은 버그 수정이 도입되었습니다.
-
oc adm catalog mirror
CLI 명령을 사용할 때 연결이 끊긴 환경에 대한 지원이 수정되었습니다.
1.2.4. 확인된 문제
TRACING-3761에서는 버그로 인해 OpenTelemetry Operator의 Red Hat 빌드의 클러스터 모니터링이 비활성화됩니다. 버그로 인해 클러스터 모니터링 및 서비스 모니터 오브젝트에 필요한 레이블 openshift.io/cluster-monitoring=true
로 인해 클러스터 모니터링이 OpenTelemetry Operator의 Red Hat 빌드에서 메트릭을 스크랩하지 않습니다.
해결방법
다음과 같이 클러스터 모니터링을 활성화할 수 있습니다.
-
Operator 네임스페이스에 다음 레이블을 추가합니다.
oc label namespace openshift-opentelemetry-operator openshift.io/cluster-monitoring=true
서비스 모니터, 역할, 역할 바인딩을 생성합니다.
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: opentelemetry-operator-controller-manager-metrics-service namespace: openshift-opentelemetry-operator spec: endpoints: - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token path: /metrics port: https scheme: https tlsConfig: insecureSkipVerify: true selector: matchLabels: app.kubernetes.io/name: opentelemetry-operator control-plane: controller-manager --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: otel-operator-prometheus namespace: openshift-opentelemetry-operator annotations: include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" rules: - apiGroups: - "" resources: - services - endpoints - pods verbs: - get - list - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: otel-operator-prometheus namespace: openshift-opentelemetry-operator annotations: include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: otel-operator-prometheus subjects: - kind: ServiceAccount name: prometheus-k8s namespace: openshift-monitoring