Kubernetes不会从私人Docker Registry中提取

我已经部署了一个私人registry,并可以通过docker pull xxx / name来从中注册。 事情是,我不能让Kubernetes从这个库中拉出来。 我认为我已经按照其他主题的所有答案,但他们似乎并没有做到这一点。

.yaml文件:

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

kubectl得到豆荚:

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

kubectl描述pod 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: xxx/nginx_1 Image ID: Port: Command: echo SUCCESS QoS Tier: cpu: BestEffort memory: BestEffort State: Waiting Reason: Image: xxx/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 

任何帮助,欢迎在这一点上,谢谢!

在我遇到这个问题的大多数情况下,几乎总是你的凭证秘密是不正确的。 正确的格式应该符合

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

从内存中, type字段在最近版本的k8s已经改变,所以一定要检查你是否列出了正确的types。

另外,你的yaml例子有不好的缩进,但是这可能是SO编辑器的问题。