노드 풀의 일시 급증 업데이트 구성

이 문서에서는 노드 풀의 일시 급증 업데이트를 사용 설정하고 관리하는 방법을 설명합니다. 노드 풀의 일시 급증 업데이트가 작동하는 방식은 일시 급증 업데이트 정보를 참조하세요.

일시 급증 업데이트를 실행하기 전에 고려해야 하는 사항

일시 급증 업데이트를 실행하기 전에 다음 사항에 유의하세요.

  • 이 일시 급증 단계의 일부로 생성된 추가 인스턴스에서 AWS 인스턴스 할당량 한도를 초과할 수 있습니다. 할당량이 부족하고 이러한 추가 인스턴스를 프로비저닝할 수 없으면 업데이트가 실패할 수 있습니다.
  • max-unavailable-update가 0으로 설정되면 포드가 제거되고 새 노드에 다시 예약되므로 여전히 워크로드가 중단될 수 있습니다.
  • 동시에 업데이트할 수 있는 최대 노드 수는 max-surge-updatemax-unavailable-update의 합계와 동일하며 20개로 제한됩니다.

일시 급증 업데이트 사용 설정 및 구성

일시 급증 업데이트를 사용 설정하려면 Google Cloud 지원팀에 문의하세요. 지원팀이 기능을 사용 설정하면 노드 풀을 만들거나 업데이트할 때 max-surge-updatemax-unavailable-update 매개변수에 값을 할당할 수 있습니다.

만들기

gcloud container aws node-pools create NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --max-surge-update MAX_SURGE \
    --max-unavailable-update MAX_UNAVAILABLE

업데이트

gcloud container aws node-pools update NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \
    --max-surge-update MAX_SURGE \
    --max-unavailable-update MAX_UNAVAILABLE

다음을 바꿉니다.

  • NODE_POOL_NAME: 업데이트할 노드 풀의 이름입니다.
  • CLUSTER_NAME: 클러스터의 이름입니다.
  • GOOGLE_CLOUD_LOCATION: 클러스터를 관리하는 지원되는 Google Cloud 리전입니다. 예를 들면 us-west1입니다.
  • MAX_SURGE: 업데이트 중에 일시적으로 노드 풀의 현재 크기를 초과하여 만들 수 있는 최대 노드 수입니다. 이 값을 조정하면 동시에 업데이트되는 노드 수를 제어할 수 있습니다. 기본 설정은 1이지만 0으로 설정할 수 있습니다. max-surge-update를 0보다 큰 값으로 설정하면 AWS용 GKE가 일시 급증 노드를 생성합니다. 0으로 설정하면 생성되지 않습니다.
  • MAX_UNAVAILABLE: 업데이트 프로세스 중 동시에 사용할 수 없는 최대 노드 수입니다. 이 값을 늘리면 더 많은 노드를 동시에 업데이트할 수 있습니다. 기본값은 0이지만 상향 조정할 수 있습니다.

노드 풀의 일시 급증 업데이트 설정 확인

노드 풀의 일시 급증 업데이트 설정을 확인하려면 다음 명령어를 실행합니다.

gcloud alpha container aws node-pools describe NODE_POOL_NAME
    --cluster CLUSTER_NAME \
    --location GOOGLE_CLOUD_LOCATION \

다음을 바꿉니다.

  • NODE_POOL_NAME: 노드 풀의 이름입니다.
  • CLUSTER_NAME: 클러스터의 이름입니다.
  • GOOGLE_CLOUD_LOCATION: 클러스터를 관리하는 지원되는 Google Cloud 리전입니다. 예를 들면 us-west1입니다.

노드 풀에 일시 급증 업데이트가 사용 설정되어 있으면 이 명령어의 출력에는 surge_settings이라는 섹션이 표시됩니다. 이 surge_settings 섹션에는 max_surgemax_unavailable 매개변수의 값이 표시됩니다.

진행 중인 일시 급증 업데이트 관리

진행 중인 일시 급증 업데이트를 취소하거나, 실패한 일시 급증 업데이트의 롤백을 수행하거나, 중단된 업데이트를 재개할 수 있습니다.

일시 급증 업데이트 취소(일시중지) 및 재개

AWS용 GKE에서 일시 급증 업데이트를 '취소'하면 실제로는 일시중지됩니다. 업데이트를 취소하는 방법은 업데이트 작업 취소를 참조하세요.

즉, 일시 급증 업데이트를 취소해도 업데이트가 롤백되지 않습니다. 대신 2개의 자동 확장 그룹이 있는 노드 풀을 부분적으로 업데이트한 상태로 유지할 수 있습니다. 하나는 이전 구성을 실행하는 노드이고, 다른 하나는 새 구성을 실행하는 노드입니다. 이 문제를 해결하려면 중단된 작업과 동일한 대상 매개변수를 사용해 업데이트된 명령을 다시 실행하여 일시 급증 업데이트를 재개합니다. 이전 업데이트의 결과가 나오기 전에는 다른 노드 풀 매개변수로 업데이트를 시작할 수 없습니다.

실패한 일시 급증 업데이트 롤백 수행

일시 급증 업데이트가 취소되었거나 실패한 경우 노드 풀을 원래 상태로 롤백할 수 있습니다.

일시 급증 업데이트를 롤백하기 전에 고려해야 할 사항

  • 부분적으로 업데이트된 상태(또는 DEGRADED 상태)의 일시 급증이 사용 설정된 노드 풀만 롤백할 수 있습니다.
  • 노드 풀에서 롤백이 시작된 후에는 취소할 수 없습니다.
  • 롤백 작업이 성공적으로 완료될 때까지 추가 업데이트 작업을 수행할 수 없습니다.
  • 실패한 경우에만 롤백을 재시도할 수 있습니다.
  • 이미 업데이트된 노드 풀은 롤백할 수 없습니다.

실패한 일시 급증 업데이트의 롤백을 수행하는 방법

노드 풀에서 실패한 업데이트 작업을 롤백하려면 다음 명령어를 실행합니다.

gcloud container aws node-pools rollback NODE_POOL_NAME
    --cluster CLUSTER_NAME

다음을 바꿉니다.

  • NODE_POOL_NAME: 업데이트할 노드 풀의 이름입니다.
  • CLUSTER_NAME: 클러스터의 이름입니다.

롤백 작동 방식

롤백을 시작하면 내부적으로 노드 풀에서 새 업데이트 작업이 시작됩니다. '내부적으로'는 이 프로세스가 시스템 자체 내에서 실행되며, 사용자가 개입할 필요가 없음을 의미합니다. 이 작업은 최선의 방식으로 노드 풀 노드를 원래 상태로 되돌립니다.

이전 자동 확장 그룹에 속하는 노드가 차단 해제되며 이 그룹의 클러스터 자동 확장 처리가 사용 설정되어 노드에서 워크로드를 예약할 수 있습니다. 새 자동 확장 그룹에서 부분적으로 업데이트된 노드 풀 노드는 최초 일시 급증 업데이트 시도 시 정의한 일시 급증 설정에 따라 차단, 드레이닝, 종료됩니다.

실패한 일시 급증 업데이트 관리

실패한 업데이트 문제를 해결하는 옵션으로는 다음 세 가지가 있습니다.

  1. 업데이트 계속 진행: 초기 실패한 시도와 동일한 대상 노드 풀 설정을 사용하여 실패한 업데이트를 계속 진행할 수 있습니다.
  2. 롤백: rollback 명령어를 사용하여 노드 풀을 원래 상태로 되돌립니다.
  3. 수정 후 다시 시작: 일시 급증 업데이트의 매개변수를 변경하려면 기존 노드 풀을 삭제한 후 새 설정으로 다시 만들어야 합니다. 노드 풀을 삭제하는 방법은 노드 풀 삭제를 참조하세요.