为什么我可以从私有存储库中提取映像,但不能用它创建kubernetes部署?

时间:2020-01-22 03:20:55

标签: docker kubernetes containers

我在私有Docker集线器存储库中有一个容器映像(在本示例中称为FOO),在通过“ docker login”进行身份验证之后,我可以通过调用轻松拉出

docker pull myusername/FOO:1.0

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

但是,当我尝试通过-

使用该映像启动部署时
kubectl create deployment footest --image=myusername/FOO:1.0

它无法拉出图像。当我将图像设置为公开时,一切正常。在私有模式下,我无法使用它创建Kubernetes部署。

是否有任何迹象表明我应该在此处采取什么步骤才能拉出此私有映像?

1 个答案:

答案 0 :(得分:2)

您必须创建一个秘密,该秘密将存储回购身份验证详细信息。

您必须使用来更新部署

imagePullSecrets:
    - name: myregistrykey

有关更多详细信息,请查看官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

示例:

使用私人回购图片创建广告连播

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.