从私人注册表创建Kubernetes pod

时间:2017-12-18 20:34:33

标签: kubernetes

我正在努力从docker私有图片创建一个Pod。为此我创造了一个这样的秘密:

kubectl create secret docker-registry $SECRETNAME --docker-server=$DOCKER_REGISTRY_SERVER --docker-username=$DOCKER_USER --docker-password=$DOCKER_PASSWORD --docker-email=$DOCKER_EMAIL

然后在pod yml文件中

apiVersion: v1
kind: Pod
metadata:
  name: website.com
  labels: 
    app: website
spec:
  containers:
  - name: my-web
    image: company/web:1.0.2
    imagePullPolicy: Always
    command: [ "echo", "SUCCESS" ]
    ports:
    - name: web-port
      containerPort: 8080
  imagePullSecrets:
    - name: docker-hub-key

当我运行“kubectl create -f web-pod.yml”,然后运行“kubectl get pod website.com”时,我收到以下错误:

  • 无法提取图像“company / web:1.0.2”:rpc错误:code = Unknown desc =来自守护程序的错误响应:找不到存储库公司/网站:不存在或没有拉取访问权限
  • 后退拉图片“company / web:1.0.2”

请帮忙, 提前谢谢

1 个答案:

答案 0 :(得分:2)

由于失败是在初始阶段,这可能是身份验证或存储库(图像/标记访问)的问题。 请验证存储库名称是否有效以及存储库中是否提供了指定的映像版本。

如果所有问题都已经过验证且问题仍然存在,请尝试执行以下操作:

  • 重新启动docker service daemon
  • 检查以确认为回购提供的秘密有效
  • 尝试使用kubectl命令拉取图像,如下所示:

    $ kubectl run <deployment-name> --image=<repo>/<image>:<version> --port=8080

如果上述命令成功,那么它将帮助您排除身份验证/访问问题。如果问题仍未解决,请浏览日志以获取有关问题的更多详细信息。