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 は、Red Hat build of OpenTelemetry Operator という名前に変更されました。
- ARM アーキテクチャーのサポート。
- メトリクス収集用の Prometheus レシーバーのサポート。
- トレースとメトリクスを Kafka に送信するための Kafka レシーバーおよびエクスポーターのサポート。
- クラスター全体のプロキシー環境のサポート。
-
Prometheus エクスポーターが有効になっている場合、Red Hat build of OpenTelemetry Operatorは Prometheus
ServiceMonitor
カスタムリソースを作成します。 -
Operator は、アップストリームの OpenTelemetry 自動インストルメンテーションライブラリーを注入できるようにする
Instrumentation
カスタムリソースを有効にします。
1.2.2. 削除通知
- Red Hat build of OpenTelemetry 3.0 では、Jaeger エクスポーターが削除されました。バグ修正とサポートは、2.9 ライフサイクルの終了までのみ提供されます。Jaeger Collector にデータを送信するための Jaeger エクスポーターの代わりに、OTLP エクスポーターを使用できます。
1.2.3. バグ修正
この更新では、次のバグ修正が導入されています。
-
oc adm category Mirror
CLI コマンドを使用する場合の、非接続環境のサポートが修正されました。
1.2.4. 既知の問題
現在、Red Hat build of OpenTelemetry Operatorのクラスター監視はバグ (TRACING-3761) により無効になっています。このバグにより、クラスター監視およびサービスモニターオブジェクトに必要なラベル openshift.io/cluster-monitoring=true
が欠落しているため、クラスター監視が Red Hat build of OpenTelemetry Operatorからメトリクスをスクレイピングできなくなっています。
回避策
次のようにクラスター監視を有効にできます。
-
Operator namespace に次のラベルを追加します:
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