为什么imagePullPolicy不能更改为Kubernetes中的其他
我有一个kubernetes集群设置,我想使用本地图像。我已经配置了.yaml文件,以便它包含(在containers->image-section中)“imagePullPolicy:Never”如下所示:为什么imagePullPolicy不能更改为Kubernetes中的其他,kubernetes,cloud,Kubernetes,Cloud,我有一个kubernetes集群设置,我想使用本地图像。我已经配置了.yaml文件,以便它包含(在containers->image-section中)“imagePullPolicy:Never”如下所示: spec: containers: - image: <name>:<version> name: <name> imagePullPolicy: Never resources:
spec:
containers:
- image: <name>:<version>
name: <name>
imagePullPolicy: Never
resources: {}
restartPolicy: Always
spec:
容器:
-图片::
姓名:
政策:绝不
资源:{}
restartPolicy:始终
我已将此服务部署到kubernetes,但无法提取图像(getting ImagePullBackOff-使用kubectl get pod查看pod时出错),因为无法从internet/registry中找到图像,并且由于未知原因imagePullPolicy始终处于值中。这可以从/var/log/messages from text中看到:
"spec":{"containers":[{"image":"<name>","imagePullPolicy":"Always","name":"<name>","
“spec”:{“containers”:[{“image”:”“imagePullPolicy”:“始终”、“名称”:”
所以我的问题是:为什么这个imagePullPolicy总是值,尽管我在.yaml文件(当然已经被使用)中将imagePullPolicy设置为Never?imagePullPolicy是否有一些默认值运行在.yaml文件中描述的值上
我的环境是Centos7,我使用的是Kontena Pharos 2.2.0(使用例如docker 1.13.1(Apache许可证2.0)和kubernetes 1.13.2(Apache许可证2.0))
我希望当我在.yaml文件中设置“imagePullPolicy:Never”时,该值现在应该是Never(并且不总是)
非常感谢您的帮助!欢迎收看StackOverflow 之所以会这样,是因为您的Kubernetes集群可能已经在api服务器中启用了名为“AlwaysPubllimages”的准入控制插件,该插件的作用是在将对象存储到Kubernetes数据存储-etcd之前覆盖(变异)对象 这是自版本v2.0.0-alpha.2以来使用Kontena Pharos引导的集群的默认行为 您可以在主cluster.yml配置文件中禁用此准入插件:
...
addons:
ingress-nginx:
enabled: true
admission_plugins:
- name: AlwaysPullImages
enabled: false
...
如果在本地注册表中找不到映像,您应该会看到POD由于不同的状态原因失败:
client-deployment-99699599d-lfqmr 0/1 ErrImageNeverPull 0 42s
请阅读更多关于使用入场控制器的信息这解决了我的问题!非常感谢您的回答!