説明
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により、サービスの正常性チェック基準に従う自動修復を有効にします。