库伯内特斯没有';t从私有Docker注册表中提取
我已经部署了一个私有注册表,可以使用docker pull x.x.x/name从中提取。问题是我不能让库伯内特斯从那个存储库中取出。我想我已经了解了其他主题的所有答案,但它们似乎没有起到作用 .yaml文件:库伯内特斯没有';t从私有Docker注册表中提取,docker,registry,private,kubernetes,Docker,Registry,Private,Kubernetes,我已经部署了一个私有注册表,可以使用docker pull x.x.x/name从中提取。问题是我不能让库伯内特斯从那个存储库中取出。我想我已经了解了其他主题的所有答案,但它们似乎没有起到作用 .yaml文件: apiVersion: v1 kind: Pod metadata: name: private-image-test-1 spec: containers: - name: uses-private-image image: x.x.x/nginx_1
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获得吊舱:
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
名称:private-image-test-1
名称空间:默认值
节点:37.72.163.69/37.72.163.69
开始时间:2016年5月6日星期五08:04:45+0000
标签:
状态:待定
知识产权:
控制器:
容器:
使用私有映像:
容器ID:
图片:x.x.x/nginx_1
图像ID:
端口:
命令:
回声
成功
QoS层:
cpu:最佳努力
记忆:最佳努力
国家:等待
原因:Image:x.x.x/nginx_1准备就绪,容器正在创建
就绪:错误
重新启动计数:0
环境变量:
条件:
类型状态
准备错误
卷数:
default-token-zrn4n:
类型:Secret(由Secret填充的卷)
SecretName:default-token-zrn4n
活动:
子对象路径类型原因消息中的FirstSeen LastSeen计数
--------- -------- ----- ---- ------------- -------- ------ -------
已调度的4m 4m 1{scheduler}已成功将private-image-test-1分配到37.72.163.69
4m 8s 30{kubelet 37.72.163.69}隐式要求成功拉取容器吊舱图像“gcr.io/google_containers/pause:0.8.0”
4m 8s 30{kubelet 37.72.163.69}隐式必需的容器POD无法创建docker容器,错误为:没有这样的映像
4m 8s 30{kubelet 37.72.163.69}同步pod失败同步错误,跳过:没有这样的映像
在这一点上欢迎任何帮助,谢谢 在我遇到这个问题的大多数情况下,您的凭证密码几乎总是不正确的。正确的格式应遵循
apiVersion: v1
kind: Secret
metadata:
name: registrypullsecret
data:
.dockerconfigjson: {BASE64 encoding of your config}
type: kubernetes.io/dockerconfigjson
从内存中看,type
字段在k8s的最新版本中已更改,因此请务必检查列出的类型是否正确
此外,yaml示例的缩进不好,但这可能是一个SO编辑器问题。如果执行in,是否可以ping docker注册表?(您可能需要使用docker.io进行部署)或者,如果您使用ssh连接到该框中,是否可以点击注册表?您忘记了描述用于提取图像的秘密(“registrypullsecret”)。有吗?它有一个有效的语法吗?你让它工作了吗?我添加了这个,没有任何改变或其他