小编lop*_*pek的帖子

使用新的 PersistentVolume 重新创建由 StatefulSet 管理的 Pod

有时,我需要对 StatefulSet 中的所有 Pod 进行滚动替换,以便所有 PV 也从头开始重新创建。这样做的原因是摆脱所有使用旧版本加密密钥的底层硬盘驱动器。此操作不应与常规滚动升级相混淆,为此我仍然希望卷能够在 Pod 终止后继续存在。到目前为止,我认为最好的例程如下:

  1. 删除PV。
  2. 删除 PVC。
  3. 删除 Pod。
  4. 等待所有删除完成。
  5. 手动重新创建在步骤 2 中删除的 PVC。
  6. 等待新 Pod 完成 StatefulSet 中其他 Pod 的数据流传输。
  7. 对于下一个 Pod,从步骤 1. 开始重复。

我对第 5 步不满意。我希望 StatefulSet 为我重新创建 PVC,但不幸的是它没有。我必须自己做,否则 Pod 创建失败并出现以下错误:

Warning  FailedScheduling   3s (x15 over 15m)  default-scheduler   persistentvolumeclaim "foo-bar-0" not found
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

kubernetes kubernetes-statefulset

6
推荐指数
2
解决办法
7031
查看次数

标签 统计

kubernetes ×1

kubernetes-statefulset ×1