安全解除绑定statfulset /my-pod-0 pvc,不影响其他副本



我有一个有2个pod的statfulset,运行在单独的专用节点上,每个节点都有自己的pvc。

我需要对分配给每个分配给statfulset的pod的pvc的pv进行一些维护。

到目前为止,我已经能够将statefulset缩小到1个副本,这使statefulset/pod-1脱机,这样我就能够执行维护任务了。

现在我需要对statfulset/pod-0执行相同的任务,而不脱机statfulset/pod-1。

我有什么选择?请记住,要启动维护任务,必须卸载statfulset/pod-0的pv。

我能够在statfulset/pod-0上执行任务:

  • 封锁节点
  • 删除statefulset/pod-0

任务完成后,解除节点的封锁,pod自动启动,没有任何问题。

此操作仅在pod包含特定nodeAffinity

时有效

我不认为这是可能实现的一个状态集,因为一个状态集提供的部署和缩放保证。要卸载一个pod的卷,必须先关闭/删除该pod,在对statfulset中的pod执行此操作之前,"必须完全关闭它的所有后续节点"。

我的建议是与应用程序的涉众计划并沟通维护窗口,并完全缩小statfulset以将更改应用到存储后端中的卷。跨存储后端移动卷不是一项定期执行的任务,因此我认为要求一次性维护是合理的。

...to move the cinder pv from one backend to another

使用Cinder CSI,您可以执行快照或克隆卷到一个新的PV,并移动到另一个。

相关内容

  • 没有找到相关文章

最新更新