5.7.2. 路由器
OpenShift Container Platform 管理员可以将 路由器 部署到 OpenShift Container Platform 集群中的节点,它 允许开发人员创建的路由 供外部客户端使用。OpenShift Container Platform 中的路由层是可插拔的,默认提供了几个路由器插件。
有关配置路由器的详情,请参阅配置集群 指南。
路由器使用服务选择器来查找服务,以及支持该服务的端点。当路由器和服务提供负载均衡时,OpenShift Container Platform 会使用路由器负载均衡。路由器在其服务的 IP 地址中检测到相关的更改,并相应地调整其配置。这可用于自定义路由器,将 API 对象的修改传递给外部路由解决方案。
请求的路径以 DNS 解析到一个或多个路由器的主机名开始。建议的方法定义一个指向多个路由器实例支持的一个或多个虚拟 IP(VIP)地址的通配符 DNS 条目的云域。使用云域之外的名称和地址的路由需要配置单独的 DNS 条目。
当 VIP 地址少于路由器时,与地址数量对应的路由器 处于活跃状态,其余是 被动 的。被动路由器也被称为 热子路由器。例如,有两个 VIP 地址和三个路由器,您有一个 "active-active-passive" 配置。有关路由器 VIP 配置的更多信息,请参阅 高可用性。
路由可以在 一组 路由器间分片。管理员可以基于集群范围设置分片,用户可在其项目中为命名空间设置分片。分片( sharding)使得操作员能够定义多个路由器组。组中的每个路由器仅提供流量子集。
OpenShift Container Platform 路由器通过协议提供外部主机名映射和服务的负载平衡,这些协议可直接区分信息到路由器;路由器必须存在于协议中以确定要发送的位置。
路由器插件假设它们默认可以绑定到主机端口 80(HTTP)和 443(HTTPS)。这意味着路由器必须放在不其他使用这些端口的节点上。或者,可通过设置 ROUTER_SERVICE_ HTTP_PORT 和
环境变量将路由器配置为侦听其他端口。
ROUTER_SERVICE
_HTTPS_PORT
由于路由器绑定到主机节点上的端口,因此如果路由器使用主机网络(默认值),则每个节点上仅能侦听这些端口的路由器。配置了集群网络,以便所有路由器可以访问集群中的所有 pod。
路由器支持以下协议:
- HTTP
- HTTPS(使用 SNI)
- Websockets
- 使用 SNI 的 TLS
Websocket 流量使用相同的路由惯例,并且支持与其他流量相同的 TLS 终止类型。
要建立安全连接,必须协商与客户端和服务器通用的 密码。随着时间推移,新的安全的密码将变得可用,并集成到客户端软件中。当旧的客户端已过时时,可以丢弃旧的安全密码。默认情况下,路由器支持广泛的可用客户端。路由器可以配置为使用支持所需客户端的所选密码集合,不包括不太安全的密码。
5.7.2.1. 模板路由器
模板路由器是一个路由器类型,它为底层路由器实施提供某些基础架构信息,例如:
- 监视端点和路由的打包程序。
- 端点和路由数据,这些数据被保存到可使用的形式。
- 将内部状态传递给可配置的模板并执行模板。
- 调用重新加载脚本.