GKE ノードプールの自動修復設定の確認

ノードの自動修復と障害監視を併せて設定し、障害の長期化を抑えてください。

説明

GKE ノードプールの自動修復を無効にすると、異常なノードに運用者の対応が必要になり、障害が長引く場合があります。現在の Google Provider では management.auto_repair はデフォルトで有効であり、省略だけで無効とは判断できません。

自動修復は可用性と運用の安定性に役立ちます。ただし、すべての障害をすぐに解決したり、データのバックアップを代替したりするものではありません。

想定される影響

  • 異常なノードが残り、ワークロードが不安定になる場合があります。
  • 手動修復が必要になり、対応が遅れるおそれがあります。
  • ノードの修復自体でもワークロードが中断する場合があります。

対処方法

  • Standard ノードプールの management.auto_repair = true と実際のサービス状態を確認してください。
  • 障害通知と手動対応手順を維持し、ワークロードがノード置換に耐えられるように準備してください。
  • セキュリティ修正のための自動アップグレードは別途管理してください。

例

Standard クラスターとノードプールの設定の抜粋です。プロジェクト、ネットワーク、ノードのサービスアカウントなど、ほかの運用設定は別途用意してください。

変更前

hcl
resource "google_container_cluster" "cluster" {
  name                     = "my-gke-cluster"
  location                 = "us-central1"
  remove_default_node_pool = true
  initial_node_count       = 1
}

resource "google_container_node_pool" "node_pool" {
  name       = "my-node-pool"
  location   = "us-central1"
  cluster    = google_container_cluster.cluster.name
  node_count = 1

  management {
    auto_repair = false
  }
}

変更後

hcl
resource "google_container_cluster" "cluster" {
  name                     = "my-gke-cluster"
  location                 = "us-central1"
  remove_default_node_pool = true
  initial_node_count       = 1
}

resource "google_container_node_pool" "node_pool" {
  name       = "my-node-pool"
  location   = "us-central1"
  cluster    = google_container_cluster.cluster.name
  node_count = 1

  management {
    auto_repair = true
  }
}

補足:

  • 変更前: ノードプールの自動修復を明示的に無効にします。
  • 変更後: auto_repair = true により、サービスの正常性チェック基準に従う自動修復を有効にします。

参考資料