DO Kubernetes Cluster + GCP Container Registry



我在Digital Ocean中有一个Kubernetes集群,我想从GCP的私有存储库中提取图像。

我尝试创建一个秘密,使我能够提取本文后面的图像https://blog.container-solutions.com/using-google-container-registry-with-kubernetes

基本上,这些是步骤

  1. 在GCP帐户中,使用JSON凭据创建一个服务帐户密钥
  2. 执行
    kubectl create secret docker-registry gcr-json-key 
    --docker-server=gcr.io 
    --docker-username=_json_key 
    --docker-password="$(cat ~/json-key-file.json)" 
    --docker-email=any@valid.email
    
  3. 在部署文件中引用secret
    imagePullSecrets:
    - name: gcr-json-key
    

我不明白为什么我得了403分。如果在谷歌云之外使用注册表有一些限制,或者如果我错过了一些配置。

提取图像失败"gcr.io/myapp/backendnodeapi:latest": rpc error: code = Unknown desc = pull and unpack image "gcr.io/myapp/backendnodeapi:latest": Failed to resolve reference "gcr.io/myapp/backendnodeapi:latest": unexpected status code [manifest latest]: 403 Forbidden

验证您已启用容器注册表API,用于身份验证的已安装云SDK和服务帐户是否具有访问容器注册表的权限。

Docker需要特权访问才能与注册表交互。在Linux或Windows操作系统下,将运行Docker命令的用户加入Docker安全组。本文档详细介绍了容器注册的先决条件。

注意:请确保kubectl的版本是最新版本。

我试着按照您提供的文档进行复制,在我这边它工作了,所以请确保满足所有先决条件。

该JSON字符串不是密码。

文档建议激活服务帐户:

gcloud auth activate-service-account [USERNAME]@[PROJECT-ID].iam.gserviceaccount.com --key-file=~/service-account.json

或者将配置添加到$HOME/.docker/config.json

然后运行docker-credential-gcr configure-docker


Kubernetes似乎需要一个服务帐户令牌秘密

,这需要注释kubernetes.io/service-account.name

请参见配置pod服务帐户。

相关内容

  • 没有找到相关文章

最新更新