Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

8.5. 控制出口流量

作为集群管理员,您可以在主机级别上为特定节点分配多个静态 IP 地址。如果应用开发人员需要其应用服务的专用 IP 地址,可以在他们用于询问防火墙访问的过程中请求一个 IP 地址。然后,他们可以从开发人员的项目部署出口路由器,在部署配置中使用 nodeSelector 来确保 pod 驻留在带有预分配的静态 IP 地址的主机上。

egress pod 的部署声明了其中一个源 IP、受保护服务的目标 IP,以及用于到达目的地的网关 IP。部署 pod 后,您可以创建一个服务来访问出口路由器 pod,然后将该源 IP 添加到公司防火墙中。然后,开发人员具有访问在其项目中创建的出口路由器服务的信息,如 service.project.cluster.domainname.com

当开发人员需要访问外部的防火墙化服务时,他们可以调用其应用(例如 JDBC 连接信息)中的出口路由器 pod服务(service.project.cluster.domainname.com),而不是实际受保护的服务 URL。

您还可以为项目分配静态 IP 地址,确保来自指定项目的所有传出外部连接都具有可识别的来源。这与默认出口路由器不同,后者用于将流量发送到特定目的地。

如需更多信息,请参阅 为外部项目流量启用修复 IP 部分。

作为 OpenShift Container Platform 集群管理员,您可以使用以下方法控制出口流量:

firewall
通过利用出口防火墙,您可以强制执行可接受的出站流量策略,以便特定端点或 IP 范围(子网)成为 OpenShift Container Platform 中可以与之通信的动态端点(pod)的唯一可接受目标。
路由器
通过使用出口路由器,您可以创建可识别的服务将流量发送到某些目的地,确保流量被视为来自已知来源的流量。这有助于提高安全性,因为它允许您保护外部数据库,以便只有命名空间中的特定 pod 可以与将流量代理到数据库的服务(出口路由器)进行通信。
iptables
除了上述 OpenShift Container Platform 内部解决方案外,还可以创建应用于传出流量的 iptables 规则。这些规则允许比出口防火墙更多的可能性,但不能限制为特定的项目。