Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
Docker 在一个外部IP地址下发送请求Google Kubernetes引擎、多个部署_Docker_Kubernetes_Google Kubernetes Engine_Devops_Nat - Fatal编程技术网

Docker 在一个外部IP地址下发送请求Google Kubernetes引擎、多个部署

Docker 在一个外部IP地址下发送请求Google Kubernetes引擎、多个部署,docker,kubernetes,google-kubernetes-engine,devops,nat,Docker,Kubernetes,Google Kubernetes Engine,Devops,Nat,我工作的基于谷歌云平台Kubernetes引擎的后端部署始终有4-60个节点在运行,跨越两种不同的服务 然而,我想与一个采用IP白名单的API接口,这意味着所有传出的请求都必须通过一个单一的IP地址进行传输 我该怎么做?部署使用了Nginx入口控制器,当涉及到出口部分时,它不允许有很多选项 我尝试在部署之外设置VM,但仍在同一地区的GCP上,无法设置转发代理。至少,我无法通过本地设备连接到它。不确定这是否是因为GCP的防火墙或诸如此类的原因。这是在使用Squid和Apache,但在这两个方面都没

我工作的基于谷歌云平台Kubernetes引擎的后端部署始终有4-60个节点在运行,跨越两种不同的服务

然而,我想与一个采用IP白名单的API接口,这意味着所有传出的请求都必须通过一个单一的IP地址进行传输

我该怎么做?部署使用了Nginx入口控制器,当涉及到出口部分时,它不允许有很多选项

我尝试在部署之外设置VM,但仍在同一地区的GCP上,无法设置转发代理。至少,我无法通过本地设备连接到它。不确定这是否是因为GCP的防火墙或诸如此类的原因。这是在使用Squid和Apache,但在这两个方面都没有成功

我还研究了云NAT选项,但似乎我必须重新创建所有服务、CI/CD管道和DNS设置等。我最好避免这样做,因为这需要几天的工作,并且会导致系统停机


理想情况下,我会有一个工作转发代理。我试着寻找Docker的图像,它们可以作为一个整体,但遗憾的是,这似乎不是一件事。SSHing到VM中设置这样的代理也没有带来成功。

您已经找到了解决方案,您必须使用Cloud NAT或您自己制作的等效解决方案重建内容。即使这是相对较新的,我自己也没有真正尝试过,就在6个月前,我们被告知GKE不支持这种做法。我们的解决方案是您提到的代理思想,一个在GKE之外运行的HTTP代理,并在应用程序代码级别而不是基础设施级别通过它来指导工作。这一点都不好玩。

我认为如果您从节点中删除外部IP地址,您可以通过云NAT发送请求。我想说,所有其他选择都会增加一个失败点。您仍然应该能够设置NAT虚拟机。这是如何做到的: