説明
GKE ノードプールの自動修復が無効な場合、異常が続くノードの復旧に運用担当者の介入が必要となり、停止時間が長くなるおそれがあります。新しい Standard ノードプールではデフォルトで有効になり、Autopilot では常に有効です。
想定される影響
ノード障害が長引くと可用性が低下し、手動復旧の負担が増えます。自動修復もすべての障害を即座に解消するわけではなく、データのバックアップの代わりにはなりません。
対処方法
Standard ノードプールで management.auto_repair: true を設定してください。障害通知と手動対応手順を維持し、ノードの置き換えに耐えられるようワークロードを構成してください。セキュリティパッチのための自動アップグレードは別途管理してください。
例
ノードプール管理設定の抜粋です。cluster は準備済みのクラスターリソースを表します。プロジェクトと、保護されたサービスアカウントの JSON ファイルのパスは別途指定してください。
変更前
yaml
- name: create a node pool
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
management:
auto_repair: no
- name: create a node pool3
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
最初のタスクは自動修復を無効にしています。2 番目の設定省略は自動修復が無効であることを意味しないため、実際のノードプールの状態を確認してください。
変更後
yaml
- name: create a node pool
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
management:
auto_repair: true
自動修復を明示的に有効にしています。修復はサービスのヘルスチェック基準に従って行われます。