1.3. 管理进入和离开集群的流量
您需要一个外部用户可以访问应用程序,以及应用程序可以安全地访问外部服务的方式。OpenShift Container Platform 提供多个工具来管理进入和离开集群的流量。
1.3.1. 使用 Ingress 和 Route 对象公开应用程序 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要允许外部流量访问集群中的服务,请使用一个 Ingress Controller。此组件充当将传入请求定向到正确应用的前端。您可以使用两个主要资源之一定义流量规则:
- Ingress:用于管理从外部访问服务的标准 Kubernetes 资源,通常用于 HTTP 和 HTTPS 流量。
-
Route对象:提供与 Ingress 相同功能的资源,但包括更多高级 TLS 终止选项和流量分割等额外功能。Route对象特定于 OpenShift Container Platform。
1.3.2. 使用负载均衡器(Load Balancer)分发流量 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Load Balancer 提供一个单一的、高度可用的 IP 地址,用于将流量定向到集群。它通常在云供应商或裸机基础架构上使用 MetalLB 运行的集群之外运行,并在运行 Ingress Controller 的多个节点上分发传入的请求。
这可防止任何单个节点成为瓶颈或故障点,以确保您的应用程序可以一直被访问。
1.3.3. 控制 Egress 流量 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Egress 代表源自集群内 pod 的出站流量,用于外部系统。OpenShift Container Platform 提供了几种机制来管理它:
- EgressIP:您可以将特定的、可预测的源 IP 地址分配给来自给定项目的所有出站流量。当您需要访问具有允许特定源 IP 的防火墙的数据库时,这非常有用。
- Egress 路由器:这是一个专用的 pod,作为出站流量的网关。它允许您通过单个受控的退出点路由连接。
- Egress 防火墙:这充当所有出站流量的集群级别防火墙。它允许您创建明确允许或拒绝从 pod 到特定外部目的地的连接的规则,从而增强了您的安全状况。