【问题标题】:Why can I pull images from a private repo but not create a kubernetes deployment with it?为什么我可以从私有 repo 中提取图像,但不能使用它创建 kubernetes 部署?
【发布时间】:2020-05-08 03:58:52
【问题描述】:

我在一个私有 docker hub 存储库中有一个容器镜像(在这个例子中我们称之为 FOO),在使用 'docker login' 进行身份验证后,我可以很容易地通过调用来拉取

docker pull myusername/FOO:1.0

我可以拉它,在本地运行它 - 效果很好。

但是,当我尝试使用该映像启动部署时 -

kubectl create deployment footest --image=myusername/FOO:1.0

它无法提取图像。当我将图像设置为公开时,一切正常。当它处于私有模式时,我无法使用它创建 Kubernetes 部署。

关于我应该在此处执行哪些后续步骤才能提取此私有图像的任何指示?

【问题讨论】:

  • 要提取图像,您必须添加秘密,该秘密将存储身份验证凭据以从私有存储库中提取图像。

标签: docker kubernetes containers


【解决方案1】:

您必须创建一个用于存储 repo 身份验证详细信息的密钥。

你必须更新部署

imagePullSecrets:
    - name: myregistrykey

更多详情可以查看官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

示例:

使用私有 repo 镜像创建 pod

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

您可以使用创建秘密

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

地点:

<your-registry-server> is your Private Registry.
<your-name> is your Docker username.
<your-pword> is your Docker password.
<your-email> is your Docker email.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    相关资源
    最近更新 更多