エントリー済み

オンプレミスの Kubernetes で Stateful 検証クラスターを宣言的に管理するまで

中級者 Storage / Database

オンプレミスでは外部ストレージとCSIドライバーを自分たちで組み合わせ、バージョン更新や新機能のたびに検証します。

私たちの環境では、クラスターやKubernetesリソースを宣言的に管理する一方、外部ストレージのセットアップだけはシェルスクリプトの実行が必要でした。そこで、この命令的な処理をCRDとControllerへ取り込み、一つの宣言からStateful機能の検証クラスターを構築できるようにしました。

宣言的管理では、実際の状態を望ましい状態へ継続的に収束させますが、Statefulな環境はKubernetesの外側にも状態を持つため、削除や再作成を単純には繰り返せません。初期化のように一度だけ実行すべき処理もあり、すべてをreconcileの対象にすると、既存のデータや環境を壊すおそれがあります。

本セッションでは、命令的な管理で生じていた課題と、その処理をControllerへ移す過程で直面した課題を紹介します。採用しなかった案も取り上げながら、管理主体の明示、PVを守るための制約、継続的なreconcileと一度限りのbootstrapの分離について解説します。

Speaker

Ren Ueta

LINEヤフー株式会社

エンジニア

2026年 LINEヤフー株式会社に入社。Kubernetes基盤の開発・運用に従事。