Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

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. 模板路由器

模板路由器是一个路由器类型,它为底层路由器实施提供某些基础架构信息,例如:

  • 监视端点和路由的打包程序。
  • 端点和路由数据,这些数据被保存到可使用的形式。
  • 将内部状态传递给可配置的模板并执行模板。
  • 调用重新加载脚本.