Jas*_*uer 3 google-kubernetes-engine google-container-registry
我有一个Google Kubernetes Engine集群,该集群直到最近一直很高兴地从Google Container Registry存储桶中提取私有容器映像。我没有做任何更改,但是现在当我更新Kubernetes部署时,它无法启动新的Pod,并且发生以下事件:
Normal Pulling 14s kubelet, <node-id> pulling image "gcr.io/cloudsql-docker/gce-proxy:latest"
Normal Pulling 14s kubelet, <node-id> pulling image "gcr.io/<project-id>/backend:62d634e"
Warning Failed 14s kubelet, <node-id> Failed to pull image "gcr.io/<project-id>/backend:62d634e": rpc error: code = Unknown desc = unauthorized: authentication required
Warning Failed 14s kubelet, <node-id> Error: ErrImagePull
Normal Pulled 13s kubelet, <node-id> Successfully pulled image "gcr.io/cloudsql-docker/gce-proxy:latest"
Normal Created 13s kubelet, <node-id> Created container
Normal Started 13s kubelet, <node-id> Started container
Normal BackOff 11s (x2 over 12s) kubelet, <node-id> Back-off pulling image "gcr.io/<project-id>/backend:62d634e"
Warning Failed 11s (x2 over 12s) kubelet, <node-id> Error: ImagePullBackOff
Run Code Online (Sandbox Code Playgroud)
我检查了以下内容,这些内容似乎都应该正确:
storage-ro权限我也尝试过禁用和重新启用container.googleapis.com和containerregistry.googleapis.com服务,但这无济于事。
容器注册表的Google文档指出:
Kubernetes Engine集群被自动配置为具有访问权限,以从同一项目中的Container Registry中提取私有映像。如果注册表和群集位于同一Cloud项目中,则无需执行其他步骤即可配置身份验证。
但这似乎并非如此。
任何人都可以进一步了解发生了什么吗?或尝试其他步骤?
好吧,结果证明这很棘手,但原因是:
我使用 Terraform 为 GKE 集群中的节点设置服务帐户,但我没有使用资源的email输出google_service_account来指定服务帐户,而是使用unique_id输出。Terraform 和 Google Cloud API 都很好地接受了这一点。
当 Kubernetes(和其他东西)试图访问每个节点上的内部元数据 API 以获取它可以使用的令牌时,它收到Service account is invalid/disabled了 403 状态的响应。
使用正确指定的服务帐户重新创建节点池解决了该问题。
以我为例,问题出在最小规范文件生成的节点池中缺少用于访问注册表的oauth2范围。新增中
nodePools:
config:
oauthScopes:
- https://www.googleapis.com/auth/devstorage.read_only
- https://www.googleapis.com/auth/servicecontrol
- https://www.googleapis.com/auth/service.management.readonly
- https://www.googleapis.com/auth/trace.append
Run Code Online (Sandbox Code Playgroud)
根据我的规范固定的东西。我认为重要的是devstorage作用域,但是我不确定,因为我只是从Web控制台生成的规范中复制并粘贴了整个作用域列表。
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |