CurrentStack
#kubernetes#site-reliability#platform-engineering#reliability#security#devops

Kubernetes fsGroupChangePolicyと再起動SLO: 2026信頼性プレイブック

Kubernetes運用では、再起動時間が「なんとなく遅い」で済まされがちです。しかし実際には、再起動遅延はデプロイ安全性や障害復旧速度に直結するSLO要素です。

その中でも見落とされやすいのが fsGroupChangePolicy です。

PVCを使うワークロードでマウント時の再帰的所有権変更が走ると、起動が秒単位から分単位に膨らみます。本稿では、セキュリティ要件を維持しつつ再起動SLOを守るための適用手順を整理します。

2026年に重要性が増した背景

AI/分析系を含むステートフル処理では、大容量ボリュームをマウントするケースが増えています。ノード再配置やローリング更新時に所有権更新がボトルネック化し、次に影響します。

  • リリース失敗時の復旧時間
  • フェイルオーバー収束
  • オートスケール追従
  • メンテ時間の予測精度

fsGroupChangePolicy の基本

主に次の2値を使います。

  • Always: 毎回再帰的に所有権変更
  • OnRootMismatch: ルート不一致時のみ変更

大容量ボリュームでは OnRootMismatch により起動短縮が期待できますが、前提条件(初期所有権整備、権限モデル)が重要です。

リスク別の適用判断

全クラスタ一括変更は避け、ワークロードを階層化します。

Tier A: 低遅延重視 + 信頼済みイメージ経路

  • OnRootMismatch を優先
  • イメージ来歴を固定
  • ボリューム初期化で所有権を整える

Tier B: 所有権履歴が混在

  • 一時的に Always 継続
  • 所有権是正ジョブを実施
  • 計画的にTier Aへ移行

Tier C: 厳格なマルチテナント分離要件

  • Namespace単位で慎重適用
  • Admission制御と併用
  • 所有権ドリフト定期検査

まず計測: 再起動経路を可視化する

変更前に以下の時刻を収集します。

  1. スケジューリング時刻
  2. ボリュームマウント開始/終了
  3. コンテナ起動
  4. Ready到達

ボリュームサイズとワークロード種別で分解しないと、改善効果を説明できません。

安全な展開パターン

  • Helm値や注釈でオプトイン化
  • 対象の5〜10%をカナリア
  • restart p50/p95とエラー率を比較
  • Namespace単位で波状展開
  • ロールバック条件を明文化

同一期間にストレージドライバ更新を重ねないのも重要です。

セキュリティ懸念への先回り

OnRootMismatch への変更は監査で質問されやすいので、以下をセットで提示します。

  • ワークロードごとのUID/GID設計書
  • 可能な範囲で非root運用
  • 所有権ドリフト検出ジョブ
  • Admission時のポリシー選択ログ

「制御を弱める」のではなく「毎回の破壊的変更を減らし、定常検知へ移す」と説明できます。

再起動SLOとの接続

カテゴリ別SLOを明示します。

  • ステートレスAPI: p95 20秒未満
  • 中程度状態保持: p95 60秒未満
  • 重状態保持: p95 180秒未満

fsGroupChangePolicy は、このSLO達成に対する具体施策として管理すると優先順位がぶれません。

想定インシデント: ピーク時ノードドレイン

ピーク時に40Podが同時再配置されたとき、各Podで90秒の所有権再帰変更が走れば復旧は長引きます。OnRootMismatch を前提整備のうえ適用できていれば、復旧時間と通知ノイズを大きく下げられます。

45日導入計画

1-10日

  • 再起動経路の計測開始
  • fsGroup + PVC利用ワークロード棚卸し
  • Tier分類

11-25日

  • Tier Aカナリアで OnRootMismatch
  • ドリフト検査運用
  • SRE/セキュリティ合同レビュー

26-45日

  • Tier A全面展開
  • Tier Bの是正完了
  • 再起動SLOダッシュボード公開

まとめ

fsGroupChangePolicy は地味ですが、再起動遅延が支配的な環境では効果が大きい設定です。前提整備と段階展開を行えば、セキュリティ要件を守りながら可用性を改善できます。

再起動時間をSLOとして扱う運用に切り替えることが、結果として障害耐性を押し上げます。

おすすめ記事