【发布时间】:2021-09-19 01:19:24
【问题描述】:
由于以下问题,我的 pod 无法创建:
Failed to pull image "europe-west3-docker.pkg.dev/<PROJECT_ID>/<REPO_NAME>/my-app:1.0.0": rpc error: code = Unknown desc = Error response from daemon: Get https://europe-west3-docker.pkg.dev/v2/<PROJECT_ID>/<REPO_NAME>/my-app/manifests/1.0.0: denied: Permission "artifactregistry.repositories.downloadArtifacts" denied on resource "projects/<PROJECT_ID>/locations/europe-west3/repositories/<REPO_NAME>" (or it may not exist)
我从来没有经历过这样的事情。也许有人可以帮助我。
这是我所做的:
- 我在 Google Cloud 的 Zone
europe-west-3-a上建立了一个标准的 Kubernetes 集群 - 我开始按照这里描述的步骤https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app
- 我构建了 docker 成像器并将其推送到 Artifcats 存储库
- 我可以确认存储库和图像都存在于 Google 控制台中以及使用 docker 拉取图像
- 现在我要部署我的应用,这里是部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
labels:
app: my-app
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: europe-west3-docker.pkg.dev/<PROJECT_ID>/<REPO_NAME>/my-app:1.0.0
imagePullPolicy: Always
ports:
- containerPort: 8080
- 由于上述错误,创建 Pod 失败。
我错过了什么?
【问题讨论】:
-
如果图像确实存在于该位置,则错误表明集群(的服务帐户)无权访问工件注册表。这应该默认启用如果集群和存储库在同一个项目中。是这样吗?
标签: docker kubernetes google-kubernetes-engine gcloud