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
Kubernetes 出口IP地址选择_Kubernetes_Cloud - Fatal编程技术网

Kubernetes 出口IP地址选择

Kubernetes 出口IP地址选择,kubernetes,cloud,Kubernetes,Cloud,我们正在运行一个SaaS服务,我们希望迁移到Kubernetes,最好是在一个hyperscalars上。我还没有找到一个干净的解决方案的一个具体问题是需要从应用程序中选择出口IP地址 我们处理大量的上游提供商,这些提供商基于源IP地址进行访问控制和速率限制。另外,我们的一部分客户正在使用他们自己与一些上游供应商的帐户。要访问其帐户上下文中的上游提供商,我们需要从应用程序中控制用于连接的源IP 我们目前正在负载平衡器后面的DMZ中运行服务,因此直接选择网络接口已经不可能了。我们在负载平衡器/网关

我们正在运行一个SaaS服务,我们希望迁移到Kubernetes,最好是在一个hyperscalars上。我还没有找到一个干净的解决方案的一个具体问题是需要从应用程序中选择出口IP地址

我们处理大量的上游提供商,这些提供商基于源IP地址进行访问控制和速率限制。另外,我们的一部分客户正在使用他们自己与一些上游供应商的帐户。要访问其帐户上下文中的上游提供商,我们需要从应用程序中控制用于连接的源IP

我们目前正在负载平衡器后面的DMZ中运行服务,因此直接选择网络接口已经不可能了。我们在负载平衡器/网关上使用一些iptables规则,根据映射的端口号进行地址选择。(例如,端口1081的出口连接映射到源地址B和目标端口80,端口1082映射到源地址C端口80)

然而,这是一个相当脆弱的设置,在尝试迁移到更标准化的*aaS产品时,也无法很好地映射


寻找更好设置的建议。

可以帮助您解决此问题的一个方法是Istio出口网关,因此我建议您研究一下


否则,它仍然依赖于特定的平台和部署集群的方式。例如,在AWS上,您可以通过使用分配有弹性IP的实例转发流量(无论是常规EC2s还是AWS NAT网关),确保出口流量始终离开预定义的已知IP集。即使使用上述出口,您也需要某种方法来定义固定IP,因此必须使用AWS ElasticIP(或同等产品)。

可以帮助您解决此问题的一个方法是Istio出口网关,因此我建议您研究一下

否则,它仍然依赖于特定的平台和部署集群的方式。例如,在AWS上,您可以通过使用分配有弹性IP的实例转发流量(无论是常规EC2s还是AWS NAT网关),确保出口流量始终离开预定义的已知IP集。即使使用上面的出口,您也需要某种方法来定义一个固定的IP,所以AWS ElasticIP(或等效物)是必须的