当副本仅设置为2个时,为什么Kubernetes会创建1000个Pod

时间:2019-04-22 13:52:40

标签: kubernetes

我创建了一个Mutating WebHook,当生成的Pod达到正常的Running状态时,该WebHook可以正常工作。但是,当与最终失败的Pod(例如错误的映像名称)一起使用时,调度程序将继续创建越来越多的多达4000个Pod,所有Pod都会出错并重试。如果我禁用了Webhook,并且由于相同的原因Pod仍然失败,则仅尝试2次,都是正常的失败。

这就像我的webhook正在创建“新”的pod一样,而不仅仅是对传递给它的对象进行变异。仅当生成的Pod无法运行时才会发生这种情况。

那么,在吊舱发生故障时,将Webhook放置在适当的位置会导致许多额外的吊舱被调度,该怎么办?

1 个答案:

答案 0 :(得分:2)

结果证明,我在Webhook中犯了一个错误,该错误不仅是在添加一个附加标签来表示已完成突变,还在于删除了现有标签,包括使用kube管理吊舱的标签。因此,当Pod发生变异时,它会擦除​​控制标签,因此调度程序认为尚未创建Pod,并继续创建新Pod。修复后,所有功能均可正常工作。