当我的Pod启动时,它们失败并显示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'
尽管(我相信)我已经在GCP中正确创建了服务帐户,并根据Pod所在的 namespace 中的已下载密钥创建了Secret,并修补了默认服务帐户,但事实是,这发生在minikube
上,
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)" [email protected]
kubectl --namespace=staging patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
检查GCR图像的Web View 显示仓库和带有指定标签的图像。
我还尝试在部署文件中添加
imagePullSecrets
条目,但效果不佳。 最佳答案
您需要向服务帐户添加一个角色,以访问GCP上的存储,最后,注册表位于存储桶的顶部
关于docker - 无法在k8s/minikube中从GCR提取图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57045919/