Kubernetes并没有从私人Docker Registry中撤出

时间:2016-05-06 08:13:00

标签: docker registry private kubernetes

我已经部署了一个私有注册表,可以使用docker pull x.x.x / name从中获取。问题是,我不能让Kubernetes从该存储库中获取。我想我已经按照其他主题的所有答案,但他们似乎没有做到这一点。

.yaml文件:

apiVersion: v1
kind: Pod
metadata:
  name: private-image-test-1
spec:
  containers:
    - name: uses-private-image
      image: x.x.x/nginx_1
      imagePullPolicy: Always
      command: [ "echo", "SUCCESS" ]
  imagePullSecrets:
   - name: registrypullsecret

kubectl get pods:

NAME                   READY     STATUS                                                                 RESTARTS   AGE
private-image-test-1   0/1       Image: x.x.x/nginx_1 is ready, container is creating   0          4m

kubectl描述pods private-image-test-1

Name:           private-image-test-1
Namespace:      default
Node:           37.72.163.69/37.72.163.69
Start Time:     Fri, 06 May 2016 08:04:45 +0000
Labels:         <none>
Status:         Pending
IP:
Controllers:    <none>
Containers:
  uses-private-image:
    Container ID:
    Image:              x.x.x/nginx_1
    Image ID:
    Port:
    Command:
      echo
      SUCCESS
    QoS Tier:
      cpu:              BestEffort
      memory:           BestEffort
    State:              Waiting
      Reason:           Image: x.x.x/nginx_1 is ready, container is creating
    Ready:              False
    Restart Count:      0
    Environment Variables:
Conditions:
  Type          Status
  Ready         False 
Volumes:
  default-token-zrn4n:
    Type:       Secret (a volume populated by a Secret)
    SecretName: default-token-zrn4n
Events:
  FirstSeen     LastSeen        Count   From                    SubobjectPath                           Type            Reason        Message
  ---------     --------        -----   ----                    -------------                           --------        ------        -------
  4m            4m              1       {scheduler }                                                                    scheduled     Successfully assigned private-image-test-1 to 37.72.163.69
  4m            8s              30      {kubelet 37.72.163.69}  implicitly required container POD                       pulled        Successfully pulled image "gcr.io/google_containers/pause:0.8.0"
  4m            8s              30      {kubelet 37.72.163.69}  implicitly required container POD                       failed        Failed to create docker container with error: no such image
  4m            8s              30      {kubelet 37.72.163.69}                                                          failedSync    Error syncing pod, skipping: no such image

此时欢迎任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

在我遇到此问题的大多数情况下,您的凭据密钥几乎总是不正确。正确的格式应该是

apiVersion: v1
kind: Secret
metadata:
  name: registrypullsecret
data:
  .dockerconfigjson: {BASE64 encoding of your config}
type: kubernetes.io/dockerconfigjson

从内存中,type字段在最新版本的k8中已更改,因此请务必检查您是否列出了正确的类型。

此外,您的yaml示例有不良缩进,但这可能是SO编辑器问题。