Appearance
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(クラスタ削除は復元に手順が要る操作)
- クラスタ構成(ノードプール定義・有効化している機能・ワークロードのマニフェスト)を書き出して保存する
- まずノードプールを 0 に縮小して停止相当の状態にし、2 週間観察する(影響が出ればここで戻せる)
- 問題がなければクラスタを削除する
ロールバック: 保存した構成からクラスタを再作成し、マニフェスト/GitOps からワークロードを再適用します。
効果検証
削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。クラスタ管理料とノード分のコンピュート料金の両方が消えていることを確認します。