1.5. 在使用带有 mTLS 的 Service Mesh 时启用 Knative Serving 和 Knative Eventing 指标
如果使用 Mutual Transport Layer Security (mTLS)启用了 Service Mesh,则 Knative Serving 和 Knative Eventing 的指标会被默认禁用,因为 Service Mesh 会阻止 Prometheus 提取指标。在使用 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。
流程
在 Knative Serving 自定义资源 (CR) 的
observability
spec 中将prometheus
指定为metrics.backend-destination
:apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: observability: metrics.backend-destination: "prometheus" ...
此步骤可防止默认禁用指标。
注意当使用
manageNetworkPolicy: false
配置ServiceMeshControlPlane
时,您必须使用 KnativeEventing 上的注解来确保正确事件交付。相同的机制用于 Knative Eventing。要为 Knative Eventing 启用指标,您需要在 Knative Eventing 自定义资源(CR)的
observability
spec 中将prometheus
指定为metrics.backend-destination
,如下所示:apiVersion: operator.knative.dev/v1beta1 kind: KnativeEventing metadata: name: knative-eventing namespace: knative-eventing spec: config: observability: metrics.backend-destination: "prometheus" ...
修改并重新应用
istio-system
命名空间中的默认 Service Mesh control plane,使其包含以下 spec:... spec: proxy: networking: trafficControl: inbound: excludedPorts: - 8444 ...