Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes GKE集群出口流量来自节点,而不是LB服务_Kubernetes_Google Cloud Platform_Google Kubernetes Engine_Google Vpc - Fatal编程技术网

Kubernetes GKE集群出口流量来自节点,而不是LB服务

Kubernetes GKE集群出口流量来自节点,而不是LB服务,kubernetes,google-cloud-platform,google-kubernetes-engine,google-vpc,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Google Vpc,我是GKE和K8S的新手,所以请跟我说说我的愚蠢。我目前有一个GKE集群,默认节点池中有两个节点,该集群通过LoadBalancer类型的服务公开 这些节点的任务是通过HTTP调用计算引擎实例。我在GCP中设置了一个防火墙规则来拒绝进入GCE实例的流量,来自GKE集群的流量除外 问题是,流量不是来自LoadBalancer的服务IP,而是来自节点本身,因此将服务的IP列入白名单没有任何效果,我必须将节点的IP列入白名单,而不是集群。这并不理想,因为每次创建新节点时,我都必须更改防火墙规则。我知道

我是GKE和K8S的新手,所以请跟我说说我的愚蠢。我目前有一个GKE集群,默认节点池中有两个节点,该集群通过LoadBalancer类型的服务公开

这些节点的任务是通过HTTP调用计算引擎实例。我在GCP中设置了一个防火墙规则来拒绝进入GCE实例的流量,来自GKE集群的流量除外

问题是,流量不是来自LoadBalancer的服务IP,而是来自节点本身,因此将服务的IP列入白名单没有任何效果,我必须将节点的IP列入白名单,而不是集群。这并不理想,因为每次创建新节点时,我都必须更改防火墙规则。我知道,一旦您在群集中设置了服务,所有流量都将定向到服务的IP,那么为什么会发生这种情况?我做错了什么?请让我知道,如果你需要更多的细节和提前感谢

该服务的YAML:


当您在GKE上创建服务并将其公开到internet时,将创建一个负载平衡器。此负载平衡器仅管理入口流量(从internet到GKE群集的流量)

当您的pod启动通信时,流量不是由负载平衡器管理的,而是由承载pod的节点管理的,如果该节点具有公共IP(而不是拒绝到GCE实例的流量,只需删除公共IP,这样更容易、更安全!)


如果您想管理pod发起的出口流量的IP,您必须。

当您在节点上运行的代码中发出HTTP请求时,您使用的IP(或URL)是什么?@Toadfish我将呼叫发送到的IP?这是一个通用的谷歌的GCE实例IP-34.78.X.XRight。前几天,我遇到了一个类似的问题,原因是将LB本身作为目标,以便(被认为是VLAN内部的)调用可以实现负载平衡。我最终发现,要实现这一点,我需要一个单独的内部TCP/IP负载平衡器。然而,我使用的是计算引擎实例组,而不是GKE。下面的答案更详细地说明了这一点,并且是GKE的具体内容。是的,谢谢你,这就是我所怀疑的。我假设LoadBalancer服务在入口和出口流量路由中的行为相同,但结果证明是完全错误的。。。我研究了周围的一系列选项,主要是关于运行sidecar/守护程序/代理,甚至是设置Istio。显然,选项越简单越好,因此我将研究Cloud NAT。我也考虑过使用防火墙,通过集群的服务帐户而不是节点IP来过滤入侵流量,但我有一种感觉,这可能也不起作用。谢谢你为我指明了正确的方向Guillaume,非常感谢。作为一个简短的旁注,我将做一些GCP架构设计任务,因为我知道这并不是真的针对这方面的问题,你知道我可以在任何其他网站上发表我的疑问吗?在堆栈溢出上,你可以找到一个特定问题的答案。所有自以为是的问题(使用这个或这个更好吗),像咨询一样的问题,都不是真正被接受的,即使有时候它真的很相关!我在其他频道不活跃,但我知道谷歌助手有reddit工作室。其他话题也一样吗?我不知道。。。我在文档中发现: