通过同一 IP 将 TCP/UDP 端口与 ingess/egress 对外公开

Expose TCP/UDP port externally with ingess/egress through the same IP

我在GKE集群中有一个工作负载,我需要对外暴露一个同时支持TCP和UDP协议的端口。复杂的是出口和入口应该通过相同的外部 IP 以使 P2P 协议工作。

目前,我的集群是 public,我使用 hostNetwork: true 此处描述的技巧 ,但考虑转移到私有集群并使用 Cloud NAT。但是,我没有找到在这种情况下如何公开该端口的方法。我试图通过 ClusterIP 公开它,但在防火墙规则中无法将外部端口映射到该 ClusterIP 端口,因为最后一个端口没有网络标签。而且我不确定防火墙规则是否可以应用于绑定到 Cloud NAT 的 Cloud Router。

有人知道吗?

谢谢!

你进了死胡同!今天,您通过其中一个节点的 public IP 公开您的服务。如果您选择私有,您将不再拥有 public IP,只有私有 IP。因此,您需要连接私人世界和 public 互联网的东西:负载平衡器

但是,Google 负载均衡器本身不支持同一 IP 上的多协议(此处为 TCP 和 UDP),您不能使用负载均衡器。

运气不好...

注意:我知道Google云内网端有更新,但仅此而已。我不知道究竟是什么以及是否会发布一种新型的负载均衡器。也许...敬请期待,但接下来几周不会了