노드 자동 복구

이 페이지에서는 Google Kubernetes Engine(GKE)에서 노드 자동 복구를 구성하는 방법을 보여줍니다.

개요

GKE의 노드 자동 복구 기능은 클러스터노드를 정상 작동 상태로 유지하는 데 도움이 됩니다. 이 기능이 사용 설정되면 GKE는 클러스터의 각 노드 상태를 주기적으로 확인합니다. 노드가 장시간 동안 연속으로 상태 검사에 실패하면 GKE는 해당 노드의 복구 프로세스를 시작합니다.

복구 기준

GKE는 노드의 상태를 사용하여 노드를 복구해야 하는지 결정합니다. Ready 상태를 보고하는 노드는 정상으로 간주됩니다. 노드가 일정 시간 임계값 동안 연이어 비정상 상태를 보고하는 경우 GKE가 복구 작업을 트리거합니다. 비정상 상태의 뜻은 다음과 같습니다.

  • 일정 시간 임계값(약 10분) 동안 노드가 연이은 검사에서 NotReady 상태를 보고하는 경우
  • 일정 시간 임계값(약 10분) 동안 노드가 상태를 전혀 보고하지 않는 경우
  • 장시간(약 30분) 동안 노드의 부팅 디스크에 디스크 공간이 부족한 경우

노드 복구 프로세스

노드 복구가 필요함을 GKE가 감지하면 해당 노드는 드레이닝되고 다시 만들어집니다. GKE는 드레이닝이 완료될 때까지 1시간을 기다립니다. 드레이닝이 완료되지 않으면 노드가 종료되고 새 노드가 생성됩니다.

여러 노드의 복구가 필요한 경우 GKE는 여러 노드를 동시에 복구할 수 있습니다. GKE는 클러스터 크기와 손상된 노드 수에 따라 복구 수를 조정합니다. 큰 클러스터에서는 GKE가 동시에 복구하는 노드 수가 늘어나지만 비정상 노드 수가 증가하면 동시에 복구하는 노드 수가 줄어듭니다.

복구 프로세스 중에 언제든 노드 자동 복구를 사용 중지하면 진행 중인 복구는 취소되지 않으며 현재 복구 중인 노드의 복구가 계속됩니다.

노드 복구 내역

GKE는 자동 복구 이벤트의 로그 항목을 생성합니다. gcloud container operations list 명령어를 사용하여 로그를 확인할 수 있습니다.

노드 자동 복구 사용 설정

노드 자동 복구는 노드 풀 단위로 사용 설정할 수 있습니다. 클러스터를 만들 때 클러스터의 기본 노드 풀에서 자동 복구를 사용 또는 사용 안 함으로 설정할 수 있습니다. 추가 노드 풀을 만드는 경우 기본 노드 풀의 자동 복구 설정과 관계없이 이러한 노드 풀의 자동 복구를 사용 설정하거나 사용 중지할 수 있습니다.

gcloud 도구 또는 Google Cloud Console을 사용하여 노드 자동 복구가 사용 설정된 클러스터 또는 노드 풀을 만들 수 있습니다.

노드 자동 복구가 사용 설정된 클러스터 만들기

gcloud

gcloud container clusters create cluster-name --zone compute-zone \
  --enable-autorepair

Console

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 만들기를 클릭합니다.

  3. 원하는 대로 클러스터를 구성합니다.

  4. 탐색창의 노드 풀에서 수정하려는 노드 풀의 이름을 클릭합니다.

  5. 자동화에서 자동 복구 사용 설정 체크박스를 선택합니다.

  6. 만들기를 클릭합니다.

자동 복구가 사용 설정된 노드 풀 만들기

gcloud

gcloud container node-pools create pool-name --cluster cluster-name \
  --zone compute-zone \
  --enable-autorepair

Console

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 목록에서 수정하려는 클러스터 이름을 클릭합니다.

  3. 노드 풀 추가를 클릭합니다.

  4. 노드 풀 추가 페이지의 자동화에서 자동 복구 사용 설정 체크박스를 선택합니다.

  5. 만들기를 클릭합니다.

기존 노드 풀에 자동 복구 사용 설정

gcloud

gcloud container node-pools update pool-name --cluster cluster-name \
  --zone compute-zone \
  --enable-autorepair

Console

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 목록에서 수정하려는 클러스터 이름을 클릭합니다.

  3. 노드 탭을 클릭합니다.

  4. 노드 풀에서 수정하려는 노드 풀의 이름을 클릭합니다.

  5. 노드 풀 세부정보 페이지에서 수정을 클릭합니다.

  6. 관리에서 자동 복구 사용 설정 체크박스를 선택합니다.

  7. 저장을 클릭합니다.

노드 자동 복구 사용 중지

gcloud 도구 또는 Google Cloud Console을 사용하여 기존 노드 풀의 노드 자동 복구를 사용 중지할 수 있습니다.

gcloud

gcloud container node-pools update pool-name --cluster cluster-name \
  --zone compute-zone \
  --no-enable-autorepair

Console

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 목록에서 수정하려는 클러스터 이름을 클릭합니다.

  3. 노드 탭을 클릭합니다.

  4. 노드 풀에서 수정하려는 노드 풀의 이름을 클릭합니다.

  5. 노드 풀 세부정보 페이지에서 수정을 클릭합니다.

  6. 관리에서 자동 복구 사용 설정 체크박스를 선택 취소합니다.

  7. 저장을 클릭합니다.

다음 단계