Skip to content

GKE クラスタ idle

ルール ID: gcp.gke.cluster.idleカテゴリ: zombie ・ 必要な読み取り: インベントリ + 利用メトリクス(権限が付くまで locked) 計画中

検証で作ったまま忘れられた GKE クラスタは、ワークロードが何も動いていなくても管理料とノード料金が発生し続けます。このルールは「動いていないのに課金が続くクラスタ」を見つけます。

このページは判定規範に従う予定仕様です。閾値・観測窓の根拠(出典)は実装時に付記します。

何を無駄とみなすか

ユーザのワークロードを実行していない GKE クラスタ。ノードが低利用のまま稼働している、またはノードがゼロのまま放置されている場合、クラスタ管理料とノード分のコンピュート料金だけが継続します。

判定条件

  • 30 日間のノード CPU 利用率が 7% 未満、かつ非管理 Pod の活動がゼロ(kube-system 等の管理系 namespace は除外)
  • 観測が 30 日の窓全体を覆っていることを確認します。窓の一部しか観測がない場合、「30 日間 idle」とは主張しません(単発観測では open にしない)
  • Autopilot クラスタは対象外です(Pod がゼロならリソース課金も止まり、idle の意味が Standard と異なるため)

必須 facts

  • クラスタのモード(Standard / Autopilot)・状態・ノード数
  • 30 日窓のノード CPU 利用率と、観測が窓全体を覆っているか
  • 管理系 namespace を除いた Pod 活動の有無
  • クラスタ作成からの経過日数
  • 取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。

誤検知・危険になり得る条件

  • フェイルオーバー・DR 待機用に維持しているクラスタ
  • 月次・四半期バッチなど、観測窓より長い周期でだけ使うクラスタ
  • ノードを一時的に 0 に縮小して休止させている(再開予定のある)クラスタ
  • メトリクス収集を無効化しているクラスタ(この場合は「観測不能」となり、候補にはなりません)

実行前の確認

  • クラスタ名・ラベル・namespace 構成から用途を確認する
  • IaC(Terraform 等)や GitOps リポジトリでの参照有無を確認する
  • CI/CD・バッチ基盤・関係チームに今後の利用予定を確認する

非破壊テストとロールバック

Safety Tier: high(クラスタ削除は復元に手順が要る操作)

  1. クラスタ構成(ノードプール定義・有効化している機能・ワークロードのマニフェスト)を書き出して保存する
  2. まずノードプールを 0 に縮小して停止相当の状態にし、2 週間観察する(影響が出ればここで戻せる)
  3. 問題がなければクラスタを削除する

ロールバック: 保存した構成からクラスタを再作成し、マニフェスト/GitOps からワークロードを再適用します。

効果検証

削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。クラスタ管理料とノード分のコンピュート料金の両方が消えていることを確認します。