gpt4 book ai didi

kubernetes - 将图像从 GCR 拉入 GKE

转载 作者:行者123 更新时间:2023-12-03 13:54:00 27 4
gpt4 key购买 nike

今天是我玩 GCR 和 GKE 的第一天。如果我的问题听起来很幼稚,请道歉。

所以我在 GCR 中创建了一个新的注册表。它是私有(private)的。使用 this文档,我使用命令获取了我的访问 token

gcloud auth print-access-token
#<MY-ACCESS_TOKEN>

我知道我的用户名是 oauth2accesstoken
当我尝试时在我的本地笔记本电脑上
docker login https://eu.gcr.io/v2
Username: oauth2accesstoken
Password: <MY-ACCESS_TOKEN>

我得到:
Login Successful

所以现在是时候创建一个 docker-registry Kubernetes 中的 secret 。

我运行了以下命令:
kubectl create secret docker-registry eu-gcr-io-registry --docker-server='https://eu.gcr.io/v2' --docker-username='oauth2accesstoken' --docker-password='<MY-ACCESS_TOKEN>' --docker-email='<MY_EMAIL>'

然后我的 Pod 定义如下所示:
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: my-app
image: eu.gcr.io/<my-gcp-project>/<repo>/<my-app>:latest
ports:
- containerPort: 8090
imagePullSecrets:
- name: eu-gcr-io-registry

但是当我启动 pods 时,我得到了错误:
Warning  Failed                 4m (x4 over 6m)   kubelet, node-3  Failed to pull image "eu.gcr.io/<my-gcp-project>/<repo>/<my-app>:latest": 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

我检查了 YAML 文件并执行了 base64 --decode 验证了我的 secret 在 .dockerconfigjson这是正确的。

那么我在这里错过了什么?

最佳答案

如果您的 GKE 集群和 GCR 注册表在同一个项目中:您不需要配置身份验证。 GKE 集群被授权从同一项目中的私有(private) GCR 注册表中提取,而无需配置。 (很可能你就是这个!)

如果您的 GKE 集群和 GCR 注册表位于不同的 GCP 项目中:按照以下说明授予 GKE 集群的“服务帐户”访问 GCR 集群中的私有(private)镜像的权限:https://cloud.google.com/container-registry/docs/access-control#granting_users_and_other_projects_access_to_a_registry

简而言之,这可以通过以下方式完成:

gsutil iam ch  serviceAccount:[PROJECT_NUMBER]-compute@developer.gserviceaccount.com:objectViewer gs://[BUCKET_NAME]

在哪里 [BUCKET_NAME]是存储 GCR 图像的 GCS 存储桶(如 artifacts.[PROJECT-ID].appspot.com )和 [PROJECT_NUMBER]数字 托管您的 GKE 集群的 GCP 项目 ID。

关于kubernetes - 将图像从 GCR 拉入 GKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52908401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com