我在GCP中运行Kubernetes,我在单独的项目中有GKE集群和容器注册表。我将GKE服务帐户添加到我的GCR项目中,一切都很好。
现在,我想在计算级别限制来自我的GKE项目的任何传出流量。我添加了一个出口防火墙规则来丢弃从我的VPC网络流出的任何流量。因此,GKE无法再从注册表中提取图像。我添加了另一个防火墙规则以允许GKE服务帐户的出口流量,但要使其工作,我必须添加“0.0.0.0/0 all ports”作为目标过滤器。有一个更好的方法吗?是否有GCR的IP地址范围/端口?
谢谢!
GCR没有专用的IP地址范围。我不知道只为GCR限制流量的方法。
抱歉。
实际上有一种方法可以做到这一点。
创建一个VPC网络并启用Private Google Access。正如您可以在文档中阅读:
无障碍服务
您可以使用私人Google访问权限访问的Google服务包括:
容器注册服务,Google Cloud Platform上的私有Docker映像存储库
然后不要在防火墙中允许任何连接,默认情况下它将被阻止。有了这个,您将获得一个无法访问的GKE集群,但它将能够在GCR中提取图像。
有点旧,但你可以使用GKE私人集群:https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters