노드 자동 업그레이드

이 페이지에서는 Google Kubernetes Engine에서 노드 자동 업그레이드를 구성하는 방법을 살펴봅니다.

개요

노드 자동 업그레이드는 마스터가 자동 업데이트될 때 클러스터노드를 클러스터 마스터 버전에 맞게 최신 상태로 유지합니다. Google Cloud Console 또는 gcloud 명령어를 사용하여 새 클러스터 또는 노드 풀을 만들면 노드 자동 업그레이드가 기본적으로 사용 설정됩니다.

클러스터 및 노드 업그레이드에 대해 자세히 알아볼 수 있습니다.

노드 자동 업그레이드는 다음과 같은 몇 가지 이점이 있습니다.

  • 관리 오버헤드 감소: 마스터가 자동 업그레이드될 때 수동으로 노드를 추적하고 업데이트할 필요가 없습니다.
  • 보안 개선: 때때로 보안 문제 수정을 위해 새 바이너리가 출시됩니다. 자동 업그레이드를 사용하면 GKE는 자동으로 보안 업데이트를 적용하고 최신 상태로 유지되도록 합니다.
  • 편의성: 최신 Kubernetes 기능으로 노드를 최신 상태로 유지하는 간단한 방법을 제공합니다.

자동 업그레이드가 사용 설정된 노드 풀은 선택 기준(출시 노트에 발표됨)을 충족하면 업그레이드가 예약됩니다. 클러스터 및 제품군 안정성을 보장하기 위해 여러 주에 걸쳐 단계적으로 출시됩니다. 업그레이드가 수행되면 노드가 배출되고 현재 클러스터 마스터 버전과 일치하도록 다시 생성됩니다. 노드 VM의 부팅 디스크 수정사항은 노드 재생성 시 유지되지 않습니다. 노드 재생성 시 수정사항을 보존하려면 DaemonSet를 사용합니다.

Alpha 클러스터에는 노드 자동 업그레이드를 사용할 수 없습니다.

기존 노드 풀의 자동 업그레이드 상태 확인

Google Cloud Console 또는 gcloud 명령어를 사용하여 노드 풀의 자동 업그레이드 사용 설정 또는 사용 중지 여부를 확인할 수 있습니다.

gcloud

노드 풀의 자동 업그레이드 상태를 확인하려면 다음 명령어를 실행하세요.

gcloud container node-pools describe node-pool-name \
      --cluster cluster-name \
      --zone compute-zone
    

각 항목의 의미는 다음과 같습니다.

  • node-pool-name은 노드 풀의 이름입니다.
  • cluster-name은 노드 풀을 포함하는 클러스터의 이름입니다.
  • compute-zone은 클러스터의 영역입니다.

Console

노드 풀의 자동 업그레이드 상태를 확인하려면 다음을 수행하세요.

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

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터의 수정 버튼(연필 모양)을 클릭합니다.

  3. 노드 풀 섹션에서 검사하려는 노드 풀을 선택합니다.

  4. 관리 섹션에서 자동 업그레이드 필드의 값을 확인합니다.

기존 노드 풀의 노드 자동 업그레이드 사용 설정

Google Cloud Console 또는 gcloud 명령어를 사용하여 새 클러스터를 만들면 노드 자동 업그레이드가 기본적으로 사용 설정됩니다.

노드 자동 업그레이드가 현재 사용 중지된 경우 사용 설정할 수 있습니다.

gcloud

기존 노드 풀의 자동 업그레이드를 사용 설정하려면 다음 명령어를 실행하세요.

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

각 항목의 의미는 다음과 같습니다.

  • node-pool-name은 노드 풀의 이름입니다.
  • cluster-name은 노드 풀을 포함하는 클러스터의 이름입니다.
  • compute-zone은 클러스터의 영역입니다.

Console

기존 노드 풀의 자동 업그레이드를 사용 설정하려면 다음 단계를 수행하세요.

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

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터의 수정 버튼(연필 모양)을 클릭합니다.

  3. 노드 풀 섹션에서 수정하려는 노드 풀의 고급 수정 버튼을 클릭합니다.

  4. 자동 업그레이드 사용을 선택합니다.

  5. 저장을 클릭하여 고급 수정 오버레이를 종료합니다.

  6. 저장을 다시 클릭하여 클러스터를 수정합니다.

노드가 자동 업그레이드될 수 있는 경우를 더 세부적으로 제어하려면 유지보수 기간 및 유지보수 제외를 구성하는 것이 좋습니다.

기존 노드 풀의 노드 자동 업그레이드 사용 중지

기존 노드 풀의 노드 자동 업그레이드를 사용 중지할 수 있습니다. 이 경우 클러스터의 노드가 클러스터 버전과 호환되는 버전을 실행하도록 해야 합니다.

gcloud

기존 노드 풀의 자동 업그레이드를 사용 중지하려면 다음 명령어를 실행하세요.

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

Console

기존 노드 풀의 노드 자동 업그레이드를 사용 중지하려면 다음 단계를 수행하세요.

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

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터의 수정 버튼(연필 모양)을 클릭합니다.

  3. 노드 풀 섹션에서 수정하려는 노드 풀의 고급 수정 버튼을 클릭합니다.

  4. 자동 업그레이드 사용 선택을 취소합니다.

  5. 저장을 클릭하여 고급 수정 오버레이를 종료합니다.

  6. 저장을 다시 클릭하여 클러스터를 수정합니다.

노드 자동 업그레이드가 사용 설정된 클러스터 또는 노드 풀 만들기

gcloud

기본 노드 풀에 자동 업그레이드가 사용 설정된 클러스터를 만들려면 gcloud container clusters create 명령어에 --enable-autoupgrade 플래그를 지정합니다.

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

자동 업그레이드가 사용 설정된 노드 풀을 만들려면 다음 안내를 따르세요.

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

Console

Cloud Console을 사용하여 만들어진 클러스터와 노드 풀은 기본적으로 자동 업그레이드가 사용 설정됩니다. 클러스터와 노드 풀을 만드는 방법은 클러스터 만들기 또는 노드 풀 추가 및 관리를 참조하세요.

새 클러스터 또는 노드 풀의 자동 업그레이드를 사용 중지할 수 있습니다. 그러려면 클러스터나 노드 풀을 구성할 때 고급 수정을 클릭한 다음 자동 업그레이드 사용 설정 선택을 취소하세요.

일시 급증 업그레이드 매개변수 변경

일시 급증 업그레이드를 사용하면 GKE 업그레이드 노드 수를 한 번에 변경할 수 있고 업그레이드로 인한 워크로드 중단 기간을 변경할 수 있습니다.

max-surge-upgrademax-unavailable-upgrade 플래그는 각 노드 풀에 정의됩니다. 올바른 매개변수 선택에 대한 자세한 내용은 최적의 일시 급증 구성 결정을 참조하세요.

이 설정은 클러스터 또는 노드 풀을 만들거나 업데이트할 때 변경할 수 있습니다.

아래 명령어에 사용되는 변수는 다음과 같습니다.

  • cluster-name은 노드 풀의 클러스터 이름입니다.
  • compute-zone은 클러스터의 영역입니다.
  • node-pool-name은 노드 풀의 이름입니다.
  • number-nodes는 각 클러스터 영역의 노드 풀에 있는 노드 수입니다.
  • ssur-nodes는 노드 풀의 각 업그레이드에 생성될 초과(일시 급증) 노드의 수입니다.
  • unavailable-nodes는 노드 풀의 각 업그레이드에서 동시에 사용할 수 없는 노드 수입니다.

특정 일시 급증 매개변수로 클러스터 만들기

일시 급증 업그레이드에 대한 특정 설정으로 클러스터를 만들려면 max-surge-upgrademax-unavailable-upgrade 플래그를 사용합니다.

gcloud container clusters create cluster-name \
      --max-surge-upgrade=surge-nodes --max-unavailable-upgrade=unavailable-nodes

일시 급증 업그레이드가 사용 중지된 클러스터 만들기

일시 급증 업그레이드가 없는 클러스터를 만들려면 max-surge-upgrade 플래그 값을 0으로 설정합니다.

gcloud container clusters create cluster-name \
      --max-surge-upgrade=0 --max-unavailable-upgrade=1

특정 일시 급증 매개변수로 노드 풀 만들기

기존 클러스터에서 일시 급증 업그레이드에 대한 특정 설정으로 노드 풀을 만들려면 max-surge-upgrademax-unavailable-upgrade 플래그를 사용합니다.

gcloud container node-pools create node-pool-name \
      --num-nodes=number-nodes --cluster=cluster-name \
      --max-surge-upgrade=surge-nodes --max-unavailable-upgrade=unavailable-nodes

기존 노드 풀의 일시 급증 업그레이드 켜기 또는 끄기

기존 노드 풀의 업그레이드 설정을 업데이트하려면 max-surge-upgrademax-unavailable-upgrade 플래그를 사용합니다. max-surge-upgrade0보다 큰 값으로 설정하면 GKE가 일시 급증 노드를 생성합니다. max-surge-upgrade0으로 설정하면 GKE가 일시 급증 노드를 생성하지 않습니다.

gcloud beta container node-pools update node-pool-name \
      --cluster=cluster-name \
      --max-surge-upgrade=surge-nodes --max-unavailable-upgrade=unavailable-nodes

노드 풀에서 일시 급증 업그레이드가 사용 설정되었는지 확인하기

노드 풀에서 일시 급증 업그레이드가 사용 설정되었는지 확인하려면 gcloud를 사용하여 클러스터 매개변수를 설명합니다.

gcloud container node-pools describe node-pool-name \
    --cluster=cluster-name

다음 단계