【发布时间】:2021-02-04 21:24:29
【问题描述】:
我在 GKE 集群中有一个工作负载,我需要在外部公开一个同时具有 TCP 和 UDP 协议的端口。复杂之处在于,出口和入口应该通过相同的外部 IP 才能使 P2P 协议正常工作。
目前,我的集群是公共的,我使用hostNetwork: true 此处描述的技巧https://stackoverflow.com/a/47887571/803403,但考虑迁移到私有集群并使用 Cloud NAT。但是,在这种情况下,我没有找到如何公开该端口的方法。我试图通过 ClusterIP 公开它,但在防火墙规则中无法将外部端口映射到该 ClusterIP 端口,因为最后一个没有网络标签。而且我不确定防火墙规则是否可以应用于绑定到 Cloud NAT 的 Cloud Router。
有人有想法吗?
谢谢!
【问题讨论】:
-
为什么不使用 LoadBalancer 公开它?
-
检查this article,你需要使用nodeport来代替。看看它是否适合您的用例。
-
@guillaumeblaquiere LoadBalancer 不支持同一端口上的多个协议。
-
@AlexG 不幸的是,nodeport 的主要条件是
it is needed to have external IP address assigned to one of the nodes in cluster,而私有集群并非如此。
标签: google-cloud-platform google-kubernetes-engine gke-networking