Geo*_*rré 11 google-cloud-platform kubernetes google-kubernetes-engine google-container-registry google-iam
我想用一个存在于'eu.gcr.io'(相同项目)上的新映像来更新我在kubernetes上的部署,我之前已经做过。但是现在,吊舱无法拉动图像,因为它们无权这样做。这是我们在pod日志中得到的错误。
Failed to pull image "eu.gcr.io/my-gcp-project/my-image:v1.009":
rpc error: code = Unknown desc = Error response from daemon:
unauthorized: You don't have the needed permissions to perform this operation,
and you may have invalid credentials.
Run Code Online (Sandbox Code Playgroud)
群集上的服务帐户具有kubernetes admin和storage admin角色,这应该足够。但是,即使我制作了服务帐户项目编辑器(出于调试目的),它仍然不起作用(相同的错误)。
我也尝试过创建一个新的新集群(默认设置)并在那里应用我的部署,但是随后出现了完全相同的问题。
我不确定我可以尝试什么。
任何帮助或建议,我们将不胜感激。
编辑:
我只是发现我仍然可以拉出并部署旧映像。但是,我创建的每个新映像都不能被kubernetes容器所吸引。
根据你的描述
我刚刚发现我仍然可以拉取和部署较旧的映像。但是我构建的每个新镜像都不能被 kubernetes pod 拉取。
我假设您可以通过命令拉取 docker 映像,但不能通过 kubectl。
docker pull eu.gcr.io/my-gcp-project/my-image:v1.009
Run Code Online (Sandbox Code Playgroud)
所以参考这篇文章Using Google Container Registry with Kubernetes,通过docker pull和kubectl拉取docker镜像的身份验证是不同的。
您是否向 GKE 提供了访问令牌?
kubectl create secret docker-registry gcr-access-token \
--docker-server=eu.gcr.io \
--docker-username=oauth2accesstoken \
--docker-password="$(gcloud auth print-access-token)" \
--docker-email=any@valid.email
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |