4

時折、StatefulSet 内のすべての Pod のローリング置換を実行して、すべての PV も最初から再作成する必要があります。これを行う理由は、古いバージョンの暗号化キーを使用するすべての基になるハード ドライブを取り除くためです。この操作を通常のローリング アップグレードと混同しないでください。定期的なローリング アップグレードでは、ボリュームが Pod の終了に耐えられるようにする必要があります。私がこれまでに考え出した最良のルーチンは次のとおりです。

  1. PVを削除します。
  2. PVC を削除します。
  3. ポッドを削除します。
  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

それを行うより良い方法はありますか?

4

3 に答える 3