【问题标题】:Why can't my kubernetes cluster in GKE pull from gcr.io?为什么我在 GKE 中的 kubernetes 集群无法从 gcr.io 中提取?
【发布时间】:2019-03-06 17:20:34
【问题描述】:

作为部署过程的一部分,我创建了一个集群,登录到 gcr.io,然后在那里发布图像。

我的 pod 部署失败,因为容器使用的镜像无法访问。他们肯定在那里。让我困惑的是,kubenetes 集群用于访问 gcr.io 的服务帐户是什么?我会认为它是我用来创建集群的同一个,它应该具有对 gcr.io 的访问权限。

如何查看我的集群使用的服务帐号?如何授予它访问 gcr.io 的权限?

【问题讨论】:

    标签: google-kubernetes-engine google-container-registry


    【解决方案1】:

    如果您想为服务帐户添加私有 repo 访问权限,请使用此 guide。您将需要创建注册表凭据密钥并使用它修补正确的服务帐户:

    kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "myregistrykey"}]}'
    

    如果您想在 Deployment/Pod 级别添加对私有注册表的访问权限,请使用此guide

    添加注册密码:

    kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
    

    允许访问您的 Pod/部署:

    apiVersion: v1
    kind: Pod
    metadata:
      name: private-reg
    spec:
      containers:
      - name: private-reg-container
        image: <your-private-image>
      imagePullSecrets:
      - name: regcred
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-16
      • 2020-12-12
      • 2020-09-11
      • 2019-10-13
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 2020-09-29
      相关资源
      最近更新 更多