我设置了一个 kubernetes 集群,我想使用本地映像。我已经配置了.yaml文件,以便它包含(在容器中 -
spec:
containers:
- image: <name>:<version>
name: <name>
imagePullPolicy: Never
resources: {}
restartPolicy: Always
我已将此服务部署到kubernetes,但无法提取图像(获取ImagePullBackOff-使用kubectl获取pod查看pod时出错),因为无法从internet/registry中找到图像,并且由于某些未知原因,ImagePull策略处于始终值。这可以从/var/log/messages from text中看到:
"spec":{"containers":[{"image":"<name>","imagePullPolicy":"Always","name":"<name>","
所以我的问题是:为什么在我的. yaml文件(当然已经被使用)中,我已经将ImagePullPolicy设置为“从不”,但这个image ePullPolicy却在“始终值”中?ImagePullPolicy是否有一些默认值运行在. yaml文件中描述的值上?
我的环境是 Centos7,我使用的是 Kontena Pharos 2.2.0(例如使用 Docker 1.13.1(阿帕奇许可证 2.0)和 kubernetes 1.13.2(阿帕奇许可证 2.0))。
我预计当我在 .yaml 文件中设置“图像取消策略:从不”时,该值现在应该为“从不”(而不是“始终”)。
非常感谢您的帮助!
欢迎来到堆栈溢出。
之所以会发生这种情况,是因为您的Kubernetes集群可能已在api服务器中启用了名为“AlwaysBullimages”的准入控制插件,该插件的作用是在将对象存储在Kubernete数据存储-etcd中之前覆盖(变异)对象。
这是自v2.0.0-alpha.2版以来使用Kontena Pharos引导的集群的默认行为。
您可以在主cluster.yml配置文件中禁用此准入插件:
...
addons:
ingress-nginx:
enabled: true
admission_plugins:
- name: AlwaysPullImages
enabled: false
...
如果在本地注册表中找不到映像,您应该会看到PODs由于不同的状态原因而失败:
client-deployment-99699599d-lfqmr 0/1 ErrImageNeverPull 0 42s
请在此处阅读有关使用准入控制器的更多信息
在Kubernetes文档中,它提到使用的缓存语义使得ImagePullPolicy非常高效。我想选择不同的ImagePullPolicy的原因是什么?
我正在迭代Java 7循环和Java 8 循环中的列表。Java 8 循环希望其中的变量不会更改。例如: 有人能解释一下为什么吗?是Java 8的弊端吗?
代码B是一个定制的回收视图apater,带有单选按钮。 mCustomAdapter 在 Code A 中的 fun methodA() 和 fun methodB() 中都发生了变化,因此 的引用也发生了变化,这意味着 val 属性 mySelectedIndex 从不同的地址获取值。 在我看来,val属性不能更改,为什么应用程序不会导致错误? 代码A 代码B 被改进的 我觉得代码DD和代码EE
我有一个包含复杂条目的数组列表的结构,我想将它们转换为浮点数。虚部可以丢弃,这很好。 我想知道,为什么这不起作用,而另一方面,在创建列表“数组”之前将类型更改为float会起作用。 这是一个非常基本的问题,但如果有人能分享他或她的想法,我将非常高兴。 感谢提前:)
问题内容: 我知道ES6尚未标准化,但是目前许多浏览器都支持 JS中的关键字。 规范中写道: 常量的值不能通过重新分配而更改,并且常量也不能重新声明。因此,尽管可以在不初始化的情况下声明常量,但这样做是没有用的。 当我做这样的事情: 我看到一切正常仍和是。 但是,如果这样做,我的常量数组已更改。现在是这样,顺便说一句,我仍然无法用更改它。 我这是一个错误,还是我错过了什么?我在最新的chrome和
问题内容: 我阅读并发现在 System类下有一些函数作为getproperties,我们可以在其中检索属性,然后也可以使用setProperties()对其进行设置。 但是我得到的答案是它不会工作。我自己还没有尝试过,但是,我正在接听电话。 只是为了澄清一下,如果这些setProperty()和getProperty()方法无法在运行时更改它们,为什么会存在它们。还是仅特定于classpath属