防火墙规则允许GKE - >单独项目中的GCR流量

时间:2017-12-15 18:37:23

标签: google-compute-engine google-container-registry google-kubernetes-engine

我在GCP中运行Kubernetes,我在单独的项目中有GKE集群和容器注册表。我将GKE服务帐户添加到我的GCR项目中,一切都很顺利。

现在,我想在计算级别限制来自我的GKE项目的任何传出流量。我添加了一个出口防火墙规则来丢弃从我的VPC网络流出的任何流量。因此,GKE无法再从注册表中提取图像。我添加了另一个防火墙规则以允许GKE服务帐户的出口流量,但要使其工作,我必须添加“0.0.0.0/0 all ports”作为目标过滤器。有一个更好的方法吗?是否有GCR的IP地址范围/端口?

谢谢!

4 个答案:

答案 0 :(得分:0)

GCR没有专用的IP地址范围。 我不知道只为GCR限制流量的方法。

对不起。

答案 1 :(得分:0)

实际上有一种方法可以做到。

创建VPC网络并启用Private Google Access。正如您可以在文档中看到的那样:

  

无障碍服务

     

使用私人Google访问权限可以访问的Google服务包括:

     

容器注册服务,Google云端平台上的私有Docker镜像存储库

然后不允许在防火墙中进行任何连接,默认情况下它将被阻止。通过这种方式,您将获得一个无法访问的GKE集群,但它可以在GCR中提取图像。

答案 2 :(得分:0)

年代不长,但是您可以使用GKE私有集群:https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters

答案 3 :(得分:0)

由于某种原因,我发现gcr.io解析为aws fqdn,因此私有Google访问不起作用。在我的情况下,该群集是私有的,因此我必须添加一个nat并允许443退出。创建防火墙规则后,我就可以退出。

相关问题