第 1 章 将 Service Mesh 与 OpenShift Serverless 集成
OpenShift Serverless Operator 提供 Kourier 作为 Knative 的默认入口。但是,无论是否启用了 Kourier,您都可以在 OpenShift Serverless 中使用 Service Mesh。禁用 Kourier 集成后,您可以配置 Kourier ingress 不支持的额外网络和路由选项,如 mTLS 功能。
请注意以下假设和限制:
- 所有 Knative 内部组件以及 Knative Services 都属于 Service Mesh,并启用了 sidecar 注入功能。这意味着整个网格中强制执行严格的 mTLS。对 Knative Services 的所有请求都需要 mTLS 连接,客户端必须发送其证书,除了来自 OpenShift 路由的调用除外。
- 带有 Service Mesh 集成的 OpenShift Serverless 只能 针对一个 服务网格。集群中可以存在多个网格,但 OpenShift Serverless 只存在于其中之一。
-
不支持更改 OpenShift Serverless 的目标
ServiceMeshMemberRoll
,这意味着将 OpenShift Serverless 移到另一个网格中。更改目标服务网格的唯一方法是卸载和重新安装 OpenShift Serverless。
1.1. 先决条件
- 您可以使用集群管理员访问权限访问 Red Hat OpenShift Serverless 帐户。
-
已安装 OpenShift CLI(
oc
)。 - 已安装 Serverless Operator。
- 已安装 Red Hat OpenShift Service Mesh Operator。
以下流程中的示例使用域
example.com
。这个域的示例证书被用作为子域证书签名的证书颁发机构(CA)。要在部署中完成并验证这些步骤,您需要由广泛信任的公共 CA 签名的证书或您的机构提供的 CA。根据您的域、子域和 CA 调整命令示例。
-
您必须配置通配符证书,以匹配 OpenShift Container Platform 集群的域。例如,如果您的 OpenShift Container Platform 控制台地址是
https://console-openshift-console.apps.openshift.example.com
,您必须配置通配符证书,以便域为*.apps.openshift.example.com
。有关配置通配符证书的更多信息,请参阅创建证书来加密传入的外部流量。 - 如果要使用任何域名,包括不是默认 OpenShift Container Platform 集群域子域的域名,您必须为这些域设置域映射。如需更多信息,请参阅有关创建自定义域映射的 OpenShift Serverless 文档。
重要
OpenShift Serverless 只支持使用本指南中明确记录的 Red Hat OpenShift Service Mesh 功能,且不支持其他未记录的功能。
只有在 Service Mesh 版本 2.2 或更高版本才支持在 Service Mesh 中使用 Serverless 1.31。有关 1.31 以外的版本的详情和信息,请参阅 "Red Hat OpenShift Serverless 支持的配置" 页面。