我在GCP中运行Kubernetes,我在单独的项目中有GKE集群和容器注册表。我将GKE服务帐户添加到我的GCR项目中,一切都很顺利。
现在,我想在计算级别限制来自我的GKE项目的任何传出流量。我添加了一个出口防火墙规则来丢弃从我的VPC网络流出的任何流量。因此,GKE无法再从注册表中提取图像。我添加了另一个防火墙规则以允许GKE服务帐户的出口流量,但要使其工作,我必须添加“0.0.0.0/0 all ports”作为目标过滤器。有一个更好的方法吗?是否有GCR的IP地址范围/端口?
谢谢!
答案 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退出。创建防火墙规则后,我就可以退出。