跳过statefulset中的Pod部署

时间:2020-02-02 17:29:41

标签: kubernetes kubernetes-statefulset

我有一组有状态的容器,由于它们的状态性质,由于某些状态错误(无法删除它)而无法重新创建其中的一个容器。

因为它是有状态的,所以kubernetes会阻止其他Pod的创建,直到它能够使被卡住的Pod运行为止。 Statefulsets具有podManagementPolicy:“ Parallel”,但不能在运行时更改。

问题是,是否有办法让kubernetes跳过卡住的那个?

1 个答案:

答案 0 :(得分:1)

我相信您正在为已知的issue仍处于开放状态的WA寻找WA

StatefulSet将继续等待坏掉的Pod就绪(这永远不会发生),然后再尝试将其恢复为工作状态。

在升级方面,以下git hubofficial doc上发现了这一点

StatefulSet中的Pod以相反的顺序更新。 StatefulSet控制器终止每个Pod,并在更新下一个Pod之前等待其转换为Running和Ready。

请注意,即使StatefulSet控制器在其顺序后继程序运行并准备就绪之前不会继续更新下一个Pod,它仍将在更新过程中失败的所有Pod恢复到当前版本。已收到更新的Pod将还原为更新的版本,而尚未收到更新的Pod将还原为先前的版本。这样,在出现间歇性故障的情况下,控制器会尝试继续保持应用程序的健康和更新的一致性。

阅读Forced Rollback

当使用具有默认Pod管理策略(OrderedReady)的滚动更新时,可能会进入需要人工干预才能修复的损坏状态