我的广告连播开始时,它们以Failed to pull image "gcr.io/myproject/backend:staging": rpc error: code = Unknown desc = Error response from daemon: pull access denied for gcr.io/myproject/backend, repository does not exist or may require 'docker login'
失败
这是在minikube
上发生的,尽管事实是(我相信)我已经在GCP中正确创建了服务帐户,并根据Pod所在的名称空间中的已下载密钥创建了一个Secret,然后为默认服务帐户,即
kubectl --namespace=staging create secret docker-registry gcr-json-key --docker-server=https://gcr.io --docker-username=_json_key --docker-password="$(cat ~/Downloads/gcr-read-key.json)" --docker-email=me@email.com
kubectl --namespace=staging patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
检查GCR图像的Web视图将显示回购和带有指定标签的图像。
我还尝试在部署文件中添加imagePullSecrets
条目,但效果不佳。
答案 0 :(得分:2)
您需要向您的服务帐户添加角色以访问GCS上的存储,最后,注册表位于存储桶的顶部