노드 자동 업그레이드

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

개요

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

업그레이드에 대한 자세한 내용은 컨테이너 클러스터 업그레이드를 참조하세요.

자동 업그레이드 사용 시 몇 가지 이점:

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

클러스터의 마스터가 업그레이드되면 바로 자동 업그레이드가 사용 설정된 노드 풀에 자동으로 업그레이드가 예약됩니다. 업그레이드가 수행되면 노드가 배출되고 현재 클러스터 마스터 버전과 일치하도록 다시 생성됩니다. 노드 VM의 부팅 디스크 수정사항은 노드 재생성 시 유지되지 않습니다. 노드 재생성 시 수정사항을 보존하려면 DaemonSet를 사용합니다.

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

노드 업그레이드 시점을 더욱 세밀하게 제어하려면 유지보수 기간을 예약하면 됩니다.

언제든지 노드 풀 한 개 이상에서 자동 업그레이드를 사용 중지할 수 있습니다. 다만 자동 업그레이드를 사용 중지해도 진행 중인 업그레이드는 중단되지 않습니다.

노드 자동 업그레이드 작동 방식

노드 풀에 노드 자동 업그레이드를 사용 설정하면 마스터가 업그레이드된 직후 마스터 버전과 일치하도록 노드가 업그레이드됩니다.

먼저 노드 자동 업그레이드에 대한 몇 가지 가이드라인은 다음과 같습니다.

  • 한 번에 노드 풀의 노드 한 개만 업그레이드됩니다.
  • 제공된 노드 풀에서 한 번에 노드 한 개가 업그레이드됩니다. 순서는 무작위로 선택됩니다.
  • 노드는 유지보수 기간 중에 자동으로 업그레이드됩니다.

노드가 자동으로 업그레이드되면 다음과 같은 결과가 발생합니다.

  1. 노드가 차단되고 배출됩니다. 이 때는 새 Pod를 실행하도록 노드를 예약할 수 없습니다.
  2. 노드의 Pod가 다른 노드로 다시 예약됩니다. 다시 예약할 수 없는 Pod는 노드가 다시 생성될 때까지 PENDING 상태로 유지됩니다.
  3. 노드가 삭제된 후 새 버전으로 다시 생성됩니다.
  4. 새 노드가 정상적으로 등록되지 못하면 전체 노드 풀의 자동 업그레이드가 사용 중지됩니다.
  5. 제공된 버전으로 노드 자동 업그레이드가 상당수 진행되어 GKE 장비 전체에서 비정상 노드가 발생하면 문제를 조사하는 동안 같은 버전으로의 업그레이드가 중단됩니다.

노드 자동 업그레이드를 사용하는 클러스터 또는 노드 풀 만들기

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] --cluster [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] --enable-autoupgrade

Console

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

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

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

gcloud

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

gcloud container node-pools update [NODE_POOL] --cluster [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] --enable-autoupgrade

Console

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

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

    Google Kubernetes Engine 메뉴로 이동

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

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

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

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

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

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

gcloud

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

gcloud container node-pools update [NODE_POOL] --cluster [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] --no-enable-autoupgrade

Console

기존 노드 풀의 노드 자동 업그레이드를 사용 중지하려면 다음 안내를 따르세요.

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

    Google Kubernetes Engine 메뉴로 이동

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

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

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

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

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

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Kubernetes Engine 문서