运行pod.yaml时规格无效

时间:2018-10-08 14:05:50

标签: kubernetes google-kubernetes-engine

运行Pod时,我看到Pod(cas-de)是无效的规范:禁止的pod更新可能不会更改spec.containers[*].imagespec.initContainers[*].imagespec.activeDeadlineSeconds或{ {1}}(仅是现有公差的补充)

但是,我在kubernetes网站上进行了搜索,但没有发现任何错误: (我真的不明白我的错误在哪里)

在Pod或部署中设置spec.tolerations更好吗?

volumeMounts

2 个答案:

答案 0 :(得分:1)

YAML模板有效。某些字段可能已被禁止更改,然后执行kubectl apply ....

看起来更像是开发。解决方法是使用kubectl delete pod cas-de命令删除现有的pod,然后执行kubectl apply -f file.yamlkubectl create -f file.yaml

答案 1 :(得分:1)

在最初创建对象之后,根本不允许更改对象上的多个字段。作为一个具体示例,the reference documentation for Containers注意volumeMounts“无法更新”。如果遇到这些情况之一,则需要删除并重新创建对象(可能首先使用不同的名称来创建新对象)。

  

在Pod或部署中设置volumeMounts更好吗?

切勿使用裸露的豆荚;总是喜欢使用管理Pod的控制器之一,通常是部署。

更改为部署实际上可以解决此问题,因为更新部署的Pod规范将按照创建新Pod,等待其可用并为您删除旧Pod的顺序进行。它从未尝试过更新Pod。

相关问题