【ステートフルセット】
StatefulSet とは?
最終更新:
💡 Podの識別子と保存先の対応を保つ
Kubernetesで、Podごとの安定した識別子を保って複数のPodを管理するリソース。永続ストレージや決まった起動順序が必要なアプリに使い、保存方法などは別途設定する。
📌 このページのポイント
Deploymentとどう違うの?
どんなアプリで使うの?
データベースなど、安定した名前や保存先を必要とするアプリで役立つよ。ただしStatefulSetを作るだけでDBのデータが複製されたり、主系と待機系が決まったりするわけではない。アプリ側の構成も必要なんだ
Podの名前は変わらないの?
保存したデータも必ず残る?
スケールダウンは必ず順番に削除される?
既定のOrderedReadyでは、大きい番号から順に終了を待ちながら減らすよ。Parallelなら並行で作成・終了できる。StatefulSet自体の削除には同じ順序の保証がないし、PVCを残すか消すかも設定次第。アプリの終了手順と保存方針を確認しよう
まとめ:ざっくりこれだけ覚えればOK!
「StatefulSet」って出てきたら「KubernetesでDBなど状態を持つアプリを管理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「StatefulSet」 = 状態保持セット
💬 StatefulはStateless(状態を持たない)の対義語で「状態を持つ」という意味。SetはKubernetesのリソース集合を表すよ。