×

OpenShift Container Platform 提供以下方法,用于在集群外部与在集群中运行的服务进行通信。

这些方法按优先顺序推荐。

  • 如果您有 HTTP/HTTPS,请使用 Ingress 控制器。

  • 如果您有除 HTTPS 之外的 TLS 加密协议。例如,对于带有 SNI 标头的 TLS,请使用 Ingress 控制器。

  • 否则,请使用负载均衡器、外部 IP 或 `NodePort`。

方法 用途

使用 Ingress 控制器

允许访问 HTTP/HTTPS 流量和除 HTTPS 之外的 TLS 加密协议(例如,带有 SNI 标头的 TLS)。

使用负载均衡器服务自动分配外部 IP

允许通过从池中分配的 IP 地址访问非标准端口的流量。大多数云平台都提供了一种使用负载均衡器 IP 地址启动服务的方法。

关于 MetalLB 和 MetalLB 操作符

允许访问机器网络上特定 IP 地址或池中地址的流量。对于裸机安装或类似裸机的平台,MetalLB 提供了一种使用负载均衡器 IP 地址启动服务的方法。

手动为服务分配外部 IP

允许通过特定 IP 地址访问非标准端口的流量。

配置NodePort

在集群中的所有节点上公开服务。

比较:容错访问外部 IP 地址

对于提供对外部 IP 地址访问的通信方法,对 IP 地址的容错访问是另一个需要考虑的问题。以下功能提供对外部 IP 地址的容错访问。

IP 故障转移

IP 故障转移为一组节点管理虚拟 IP 地址池。它使用 Keepalived 和虚拟路由冗余协议 (VRRP) 实现。IP 故障转移仅为 2 层机制,依赖于组播。组播对于某些网络可能存在缺点。

MetalLB

MetalLB 具有 2 层模式,但不使用组播。2 层模式的缺点是它通过一个节点传输所有外部 IP 地址的流量。

手动分配外部 IP 地址

您可以使用 IP 地址块配置集群,该地址块用于为服务分配外部 IP 地址。默认情况下,此功能处于禁用状态。此功能灵活,但会给集群或网络管理员带来最大的负担。集群已准备好接收目标为外部 IP 的流量,但每个客户都必须决定如何将流量路由到节点。