설명
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
첫 작업은 자동 복구를 끕니다. 두 번째 작업의 설정 생략은 자동 복구가 비활성화되었다는 의미가 아니므로 실제 노드 풀 상태를 확인하세요.
변경 후
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
자동 복구를 명시적으로 활성화합니다. 복구는 서비스의 상태 확인 기준에 따라 진행됩니다.