Docker 从专用GKE群集访问非gcr公共容器注册表

Docker 从专用GKE群集访问非gcr公共容器注册表,docker,google-cloud-platform,google-kubernetes-engine,Docker,Google Cloud Platform,Google Kubernetes Engine,我想在我的私有GKE集群中部署一个nginx入口控制器映像(),但我无法提取该映像,因为它位于quay.io的注册表中。我如何获取GCR或GCR Dockerhub镜像上没有的公共映像 我想把它拉出来上传到我自己的GCR注册表中,但是我必须保持更新。有没有办法只保留该映像的私有镜像?私有GKE群集中的节点没有外部IP,默认情况下无法退出到internet,这就是群集无法从非GCR注册表提取映像的原因 要允许internet出口,您需要在与GKE集群相同的项目中启用 gcloud compute

我想在我的私有GKE集群中部署一个nginx入口控制器映像(),但我无法提取该映像,因为它位于quay.io的注册表中。我如何获取GCR或GCR Dockerhub镜像上没有的公共映像


我想把它拉出来上传到我自己的GCR注册表中,但是我必须保持更新。有没有办法只保留该映像的私有镜像?

私有GKE群集中的节点没有外部IP,默认情况下无法退出到internet,这就是群集无法从非GCR注册表提取映像的原因

要允许internet出口,您需要在与GKE集群相同的项目中启用

gcloud compute routers create nat-router \
    --network custom-network1 \
    --region us-central1

gcloud compute routers nats create nat-config \
    --router-region us-central1 \
    --router nat-router \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

有关更多详细信息,请参阅。

专用GKE群集中的节点没有外部IP,默认情况下无法连接到internet,这就是群集无法从非GCR注册表提取映像的原因

要允许internet出口,您需要在与GKE集群相同的项目中启用

gcloud compute routers create nat-router \
    --network custom-network1 \
    --region us-central1

gcloud compute routers nats create nat-config \
    --router-region us-central1 \
    --router nat-router \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

有关更多详细信息,请参阅。

安德鲁·里多特提供的答案看起来是最合适的。另一种方法是创建一个脚本和一些自动化脚本,以使您的图像在quay.io中保持最新


另请参阅,了解如何配置GKE群集以使用专用本地注册表。

Andrew Ridout提供的答案似乎是最合适的答案。另一种方法是创建一个脚本和一些自动化脚本,以使您的图像在quay.io中保持最新

另请参阅,了解如何配置GKE群集以使用专用本地注册表