説明
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 の方針に従います。