在 kubernetes 插件/jenkins 中从 gcr 中提取 docker 图像时出现问题

Problem with pulling docker images from gcr in kubernetes plugin / jenkins

我有一个带有 运行 jenkins master 的 gke 集群。我正在尝试开始构建。我正在使用带有由 kubernetes 插件(pod 模板)配置的从站的管道。我在 gcr(私有访问)中发布了我的 jenkins slave 的自定义图像。我已将我的 gcr 的凭据(google 服务帐户)添加到 jenkins。然而 jenkins/kubernetes 无法启动从站,因为无法从 gcr 拉取图像。当我使用 public 图像 (jnlp) 时没有问题。 但是当我尝试使用来自 gcr 的图像时,kubernetes 说:

Failed to pull image "eu.gcr.io/<project-id>/<image name>:<tag>": 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. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication

尽管 pod 运行 与 gcr 在同一个项目中。

即使我使用来自 gcr 的图像,我也希望 jenkins 启动奴隶。

即使 pod 运行 在同一项目的集群中,默认情况下也不会进行身份验证。

表示您已经设置了服务帐户,我假设在 Jenkins 服务器中 there's a furnished key

如果您使用 Google OAuth Credentials Plugin you can then also use the Google Container Registry Auth Plugin to authenticate to a private GCR repository and pull the image