gpt4 book ai didi

kubernetes - 来自节点而不是 LB 服务的 GKE 集群导出流量

转载 作者:行者123 更新时间:2023-12-02 12:09:42 26 4
gpt4 key购买 nike

我是 GKE 和 K8S 的新手,所以请坦白我和我的愚蠢。我目前有一个 GKE 集群,它在默认节点池中有两个节点,并且集群通过 LoadBalancer 类型的服务公开。
这些节点的任务是通过 HTTP 调用 Compute Engine 实例。我在 GCP 中设置了防火墙规则,以拒绝 GCE 实例的入口流量,但来自 GKE 集群的流量除外。
问题是流量不是来自 LoadBalancer 的服务 IP,而是来自节点本身,因此将服务的 IP 列入白名单没有效果,我必须将节点的 IP 列入白名单,而不是集群。这并不理想,因为每次创建新节点时,我都必须更改防火墙规则。我了解到,一旦您在集群中设置了服务,所有流量都会被定向到服务的 IP,那么为什么会发生这种情况?我究竟做错了什么?如果您需要更多详细信息,请告诉我,并提前致谢。
服务的 YAML:
/image/XBZmE.png

最佳答案

当您在 GKE 上创建服务并将其公开到 Internet 时,会创建一个负载均衡器。此负载均衡器仅管理入口流量(从 Internet 到 GKE 集群的流量)。
当您的 Pod 发起通信时,流量不是由负载均衡器管理,而是由托管 Pod 的节点管理,如果该节点具有公共(public) IP(而不是拒绝向 GCE 实例发送流量,只需删除公共(public) IP,它就是更简单,更安全!)。
如果您想管理由您的 pod 发起的导出流量的 IP,您必须 set up a Cloud NAT on your GKE cluster .

关于kubernetes - 来自节点而不是 LB 服务的 GKE 集群导出流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64209359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com