我一直在试图运行使用收效甚微的私人起始容器中图像的部署,我总是得到这样的错误:使用kubernetes初始化的私人回购容器
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容器和图像拉取成功。
另请注意,这是我的实际配置的简化版本,在真实配置中,容器和一些env变量都有卷装。
如何为init-container配置“imagePullSecrets”?
编辑: 我问周围的kubernetes松弛道,似乎我忘了给权限集群泊坞窗的用户(CI泊坞窗的用户,如果你会)权限,此中心库,一旦我做了init容器上的“imagePullPolicy”是多余的,“template”>“spec”中的“imagePullPolicy”就足够了。
谢谢@koki,无论你身在何处。
感谢您的答复,我一直想在我的部署使用“imagePullSecrets”,其作品为“规范”部分中描述的容器,而不是在“注释”初始化的容器部分。 此外,“imagePullSecrets”属性接受如下所述的“LocalObjectReference”的**数组**: [link](https://kubernetes.io/docs/api-reference/v1/definitions/#_v1_podspec) 而不是**对象**。 –