1.5. mTLS で Service Mesh を使用するときに Knative Serving と Knative Eventing メトリクスを有効にする
Service Mesh が Mutual Transport Layer Security (mTLS) で有効になっている場合は、Prometheus によるメトリクスのスクレイピングが Service Mesh により防止されるため、Knative Serving と Knative Eventing のメトリクスはデフォルトで無効になります。Service Mesh と mTLS を使用する場合は、Knative Serving および Knative Eventing メトリクスを有効にできます。
前提条件
クラスターにアクセスするための次のいずれかの権限がある。
- OpenShift Container Platform のクラスター管理者パーミッション
- Red Hat OpenShift Service on AWS のクラスター管理者パーミッション
- OpenShift Dedicated の専用管理者権限
-
OpenShift CLI (
oc
) がインストールされている。 - アプリケーションやその他のワークロードを作成するための適切なロールと権限を持つプロジェクトにアクセスできます。
- クラスターに OpenShift Serverless Operator、Knative Serving、および Knative Eventing をインストールしている。
- mTLS 機能を有効にして Red Hat OpenShift Service Mesh をインストールしている。
手順
prometheus
を Knative Serving カスタムリソース (CR) のobservability
仕様でmetrics.backend-destination
として指定します。apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: observability: metrics.backend-destination: "prometheus" ...
この手順により、メトリクスがデフォルトで無効になることを防ぎます。
注記ServiceMeshControlPlane
をmanageNetworkPolicy: false
で設定する場合は、適切なイベント配信を確実に行うために、KnativeEventing のアノテーションを使用する必要があります。Knative Eventing でも同じメカニズムが使用されます。Knative Eventing のメトリクスを有効にするには、次のように、Knative Eventing カスタムリソース (CR) の
observability
仕様でmetrics.backend-destination
としてprometheus
を指定する必要があります。apiVersion: operator.knative.dev/v1beta1 kind: KnativeEventing metadata: name: knative-eventing namespace: knative-eventing spec: config: observability: metrics.backend-destination: "prometheus" ...
istio-system
namespace のデフォルトのサービスメッシュコントロールプレーンを変更して再適用し、以下の仕様が含まれるようにします。... spec: proxy: networking: trafficControl: inbound: excludedPorts: - 8444 ...