我有一个正在运行的pod(pod-1),从k8s部署(deploy-1)部署到k8s node-1上。总有一天,我想修补节点亲缘关系到这个部署。例如,目标节点必须具有标签' data = allowed'。
我的步骤:
我的期望是pod-1不应该被k8s重新安排,因为它已经在node-1上,它已经符合节点关联性规则(步骤1)。但结果是pod-1被重新创建,尽管仍然在节点1上。
如果生活pod /部署符合新定义的节点关联规则,是否有任何配置可以阻止重新创建?感谢。
答案 0 :(得分:0)
由于您希望通过向部署添加新标签来更改群集状态,这意味着您所需的状态已更改,因此,k8s确保当前状态===所需状态。这是基本设计。
为了利用上述功能,我们需要使用声明式方法而不是命令式方法。
例如,最好在k8s群集中使用应用操作而不是创建操作。 现在如果您希望更改或修改k8s资源中的其他字段,它会确保依赖字段不会更改或重新启动容器或外部IP。
我已添加了进一步研究的参考资料。