GKE ノードの自動アップグレード設定の確認

セキュリティ修正とサポート対象バージョンを維持できるよう、ノードの更新方針を確認してください。

説明

GKE ノードの自動アップグレードを無効にすると、脆弱性修正や推奨バージョンの反映が遅れ、古いノードが運用され続ける場合があります。現在の Google Provider では management.auto_upgrade はデフォルトで有効です。

コントロールプレーンとノードのアップグレードは別々に管理されます。ノードの自動アップグレードを無効にしても、コントロールプレーンの更新やサポート終了に伴う必須更新まですべて停止するわけではありません。

想定される影響

  • ノードが古い Kubernetes バージョンやパッチレベルのまま残る場合があります。
  • 修正の遅れやコントロールプレーンとのバージョン差により、セキュリティや運用上の問題が生じるおそれがあります。

対処方法

  • 各ノードプールの management.auto_upgrade = true と実際の更新方針を確認してください。
  • メンテナンス期間、ワークロードの互換性、ノード置換時の可用性を準備してください。
  • 例外には担当者と手動更新の予定を定め、サポート終了前に更新してください。

例

ノードプールの更新設定の抜粋です。参照するクラスターと残りの運用設定は別途用意してください。

変更前

hcl
resource "google_container_node_pool" "node_pool" {
  name       = "my-node-pool"
  location   = "us-central1-a"
  cluster    = google_container_cluster.primary.name
  node_count = 3

  management {
    auto_upgrade = false
  }

  timeouts {
    create = "30m"
    update = "20m"
  }
}

変更後

hcl
resource "google_container_node_pool" "node_pool" {
  name       = "my-node-pool"
  location   = "us-central1-a"
  cluster    = google_container_cluster.primary.name
  node_count = 3

  management {
    auto_upgrade = true
  }

  timeouts {
    create = "30m"
    update = "20m"
  }
}

補足:

  • 変更前: 通常のノード自動アップグレードを無効にします。サービスの保守がすべて停止するわけではありません。
  • 変更後: ノードの自動アップグレードを有効にします。実際の時期とサポート対象バージョンは GKE の方針に従います。

参考資料