【发布时间】:2017-02-25 22:18:28
【问题描述】:
我一直在尝试使用私有初始化容器映像运行部署,但收效甚微,我总是收到此错误:
Failed to pull image "private/app": Error: image private/app:latest not found
Error syncing pod, skipping: failed to "StartContainer" for "app" with ErrImagePull: "Error: image private/app:latest not found"
这是我的部署:
"kind": "Deployment"
"apiVersion": "extensions/v1beta1"
"metadata":
"name": "tomcat"
"creationTimestamp": null
"spec":
"replicas": 1
"template":
"metadata":
"creationTimestamp": null
"labels":
"service": "tomcat"
"annotations":
"pod.beta.kubernetes.io/init-containers": '[
{
"name": "app",
"image": "private/app",
"imagePullPolicy": "IfNotPresent"
}
]'
"spec":
"containers":
- "name": "tomcat"
"image": "private/tomcat"
"ports":
- "containerPort": 8080
"protocol": "TCP"
"imagePullSecrets":
- "name": "my-secret"
"restartPolicy": "Always"
"strategy": {}
"status": {}
我也尝试了这里建议的更改 kubernetes init containers using a private repo:
"pod.beta.kubernetes.io/init-containers": '[
{
"name": "app",
"image": "private/app",
"imagePullPolicy": "IfNotPresent",
"imagePullSecrets": [
{
"name": "my-secret"
}
]
}
]'
但还是什么都没有……
请注意,我已经在没有init容器的情况下测试了这个部署,并且图像拉取成功。
另外请注意,这是我实际配置的简化版本,在实际配置中,容器和一些环境变量都有卷安装。
如何为 init-container 配置“imagePullSecrets”?
编辑: 我在 kubernetes slack 频道中四处询问,似乎我忘记授予集群 docker 用户(如果你愿意的话是 CI docker 用户)权限,一旦我这样做了 init 容器上的“imagePullPolicy”是多余的,“模板”>“规范”上的那个就够了。
感谢@koki,无论你在哪里。
【问题讨论】:
标签: kubernetes