因此,在谷歌搜索了一下之后(这被人们对Pull Secrets的麻烦所污染),我将其发布在这里-以及GCP支持(据我所知将会更新)。
我通过GitLab Kubernetes集成(文档:https://about.gitlab.com/solutions/kubernetes )在与我的GCR注册表/图像相同的项目中创建了一个集群。
当我使用Kubectl(依赖于该项目中GCR注册表中的私有映像)向该集群添加新服务/部署时,GitLab创建的集群中的Pod无法通过以下方式从GCR中提取:ErrImagePull。
需要明确的是,我不是从GitLab私有注册表中拉出,而是在与从GitLab创建的GKE集群(不需要拉出秘密)相同的项目中,从GCR注册表中拉出。
该项目中的其他集群(通过GCP控制台创建)可以正确访问同一映像,因此我的想法是,通过API创建的集群(在本例中为通过GitLab)与通过GCP控制台创建的集群之间存在一些差异。
我希望过去有人遇到过这种情况-或可以解释可能导致问题的服务帐户等方面的差异。
我将尝试创建一个服务帐户并手动为其授予Project Viewer角色,以查看是否可以解决问题。
更新:手动配置的服务帐户无法解决问题。
注意:我试图将映像拉入群集,而不是拉入在群集上运行的GitLab Runner中。就是 我希望在我的GitLab基础架构旁边运行单独的服务/部署。
gitlab google-cloud-platform kubernetes google-kubernetes-engine