클러스터 업그레이드

이 페이지에서는 Google Kubernetes Engine 클러스터가 실행하는 Kubernetes 버전을 업그레이드 또는 다운그레이드하는 방법을 설명합니다.

클러스터 마스터 및 노드에 Kubernetes 버전이 제공되는 방법에 대한 자세한 내용은 버전 관리 및 업그레이드를 참조하세요. 클러스터에 대한 자세한 내용은 클러스터 아키텍처를 참조하세요.

시작하기 전에

이 작업을 준비하려면 다음 단계를 수행하세요.

  • Google Kubernetes Engine API가 사용 설정되었는지 확인합니다.
  • Google Kubernetes Engine API 사용 설정
  • Cloud SDK가 설치되었는지 확인합니다.
  • 기본 프로젝트 ID를 설정합니다.
    gcloud config set project [PROJECT_ID]
  • 영역 클러스터를 사용하는 경우 기본 컴퓨팅 영역을 설정합니다.
    gcloud config set compute/zone [COMPUTE_ZONE]
  • 지역 클러스터를 사용하는 경우 기본 컴퓨팅 지역을 설정합니다.
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud를 최신 버전으로 업데이트합니다.
    gcloud components update

클러스터 업그레이드 정보

업그레이드를 실행할 때 GKE는 예약을 중지하고, 배출하고, 클러스터의 모든 노드 및 해당 포드를 한 번에 하나씩 삭제합니다. 교체 노드는 이전 항목과 동일한 이름으로 다시 생성됩니다. 업그레이드가 완료되려면 각 노드가 성공적으로 다시 생성되어야 합니다. 새 노드가 마스터에 등록되면 GKE가 해당 노드를 예약 가능으로 표시합니다.

각 노드 인스턴스는 원하는 Kubernetes 버전 뿐만 아니라 다음 항목을 실행합니다.

지원되는 버전

업그레이드 및 다운그레이드가 지원되는 Kubernetes 버전 및 노드 버전을 찾으려면 다음 명령어를 실행하세요.

gcloud container get-server-config

노드를 마스터 버전보다 이전 버전으로 다운그레이드할 수 있습니다. gcloud 명령줄 도구를 사용하여 클러스터 마스터 버전을 다운그레이드할 수 있지만, 이것은 일반적으로 필요하지 않습니다.

지원되는 버전은 지원되는 버전 페이지에 기술되어 있습니다.

영구 디스크에 데이터 저장

호스트 hostPathemptyDir 볼륨에 저장된 데이터는 업그레이드 중에 삭제됩니다.

업그레이드를 실행하기 전에, 보존하려는 데이터가 Google Compute Engine Persistent Disk 볼륨이 있는 포드에 저장되었는지 확인해야 합니다. 업그레이드 중에는 영구 디스크가 삭제되는 것이 아니라 마운트 해제되고, 해당 데이터는 다른 포드로 '전달'됩니다.

영구 디스크와 관련된 제한사항은 다음과 같습니다.

  • 포드가 실행되는 노드는 Compute Engine VM이어야 합니다.
  • 이러한 VM은 영구 디스크와 동일한 Compute Engine 프로젝트 및 영역에 있어야 합니다.

기존 노드 인스턴스에 영구 디스크를 추가하는 방법을 알아보려면 영구 디스크 추가 또는 크기 조절을 참조하세요.

수동으로 노드 업그레이드

Google Cloud Platform 콘솔 또는 gcloud 명령줄 도구를 사용하여 노드를 수동으로 업그레이드할 수 있습니다.

gcloud

다음 명령어는 마스터가 실행 중인 버전으로 노드를 업그레이드합니다.

gcloud container clusters upgrade [CLUSTER_NAME]

여기서 [CLUSTER_NAME]은 업그레이드할 클러스터의 이름입니다.

Kubernetes의 특정 릴리스를 설치하려면 선택적인 --cluster-version 플래그를 사용하세요.

gcloud container clusters upgrade [CLUSTER_NAME] --cluster-version [CLUSTER_VERSION]

여기서 [CLUSTER_VERSION]은 노드를 업그레이드할 Kubernetes 버전입니다. 예: --cluster-version=1.7.2 또는 cluster-version=latest.

버전 지정에 대한 자세한 내용은 버전 관리 및 업그레이드 문서를 참조하세요.

자세한 내용은 gcloud container clusters upgrade 문서를 참조하세요.

콘솔

GCP 콘솔을 사용하여 클러스터를 업그레이드하려면 다음 단계를 수행하세요.

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

    Google Kubernetes Engine 메뉴로 이동

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

  3. 노드 풀 섹션에서 업그레이드하려는 노드 풀의 공개 화살표를 확장합니다.

  4. 노드 버전 옆에 있는 변경 링크를 클릭합니다.

  5. 원하는 버전을 선택한 후 변경을 클릭합니다.

  6. 저장을 클릭합니다.

자동으로 노드 업그레이드

노드 자동 업그레이드는 새 버전을 사용할 수 있을 때마다 GKE가 Kubernetes의 노드 버전을 업그레이드하도록 지시합니다.

자동 노드 업그레이드를 사용 설정하려면 노드 자동 업그레이드 문서를 참조하세요.

업그레이드 상태 확인

gcloud beta container operations를 사용하여 업그레이드 상태를 확인할 수 있습니다.

클러스터에서 모든 실행 중인 작업과 완료된 작업의 목록을 보려면 다음 명령어를 실행하세요.

gcloud beta container operations list

각 작업에는 작업 ID와 작업 유형은 물론 시작 및 종료 시간, 대상 클러스터, 상태가 할당됩니다. 이 목록은 다음 예와 비슷하게 표시됩니다.

NAME                              TYPE                ZONE           TARGET              STATUS_MESSAGE  STATUS  START_TIME                      END_TIME
operation-1505407677851-8039e369  CREATE_CLUSTER      us-west1-a     my-cluster                          DONE    20xx-xx-xxT16:47:57.851933021Z  20xx-xx-xxT16:50:52.898305883Z
operation-1505500805136-e7c64af4  UPGRADE_CLUSTER     us-west1-a     my-cluster                          DONE    20xx-xx-xxT18:40:05.136739989Z  20xx-xx-xxT18:41:09.321483832Z
operation-1505500913918-5802c989  DELETE_CLUSTER      us-west1-a     my-cluster                          DONE    20xx-xx-xxT18:41:53.918825764Z  20xx-xx-xxT18:43:48.639506814Z

특정 작업에 대한 자세한 정보를 보려면 다음 명령어에서 해당 작업 ID를 지정합니다.

gcloud beta container operations describe [OPERATION_ID]

예를 들면 다음과 같습니다.

gcloud beta container operations describe operation-1507325726639-981f0ed6
endTime: '20xx-xx-xxT21:40:05.324124385Z'
name: operation-1507325726639-981f0ed6
operationType: UPGRADE_CLUSTER
selfLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/operations/operation-1507325726639-981f0ed6
startTime: '20xx-xx-xxT21:35:26.639453776Z'
status: DONE
targetLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/clusters/...
zone: us-central1-a

노드 업그레이드 취소

업그레이드는 언제든지 취소할 수 있습니다. 업그레이드를 취소할 경우 다음 결과가 수행됩니다.

  • 업그레이드가 시작된 노드는 작업이 완료됩니다.
  • 업그레이드가 시작되지 않은 노드는 업그레이드되지 않습니다.
  • 업그레이드가 이미 성공적으로 완료된 노드는 영향을 받지 않고, 롤백되지 않습니다.

먼저 다음 명령어를 실행하여 업그레이드의 작업 ID를 가져옵니다.

gcloud container operations list

그런 후 업그레이드를 취소하기 위해 다음 명령어를 실행합니다.

gcloud beta container operations cancel [OPERATION_ID]

gcloud container operations cancel 문서를 참조하세요.

노드 업그레이드 롤백

업그레이드가 실패했거나 업그레이드가 취소된 노드 풀을 이전 버전의 Kubernetes로 롤백할 수 있습니다. 이미 성공적으로 업그레이드된 노드 풀은 롤백할 수 없습니다. 업그레이드가 아직 시작되지 않은 노드는 영향을 받지 않습니다.

업그레이드를 롤백하려면 다음 명령어를 실행하세요.

gcloud container node-pools rollback [POOL_NAME] --cluster [CLUSTER_NAME]

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

  • [POOL_NAME]은 롤백하려는 노드 풀의 이름입니다.
  • [CLUSTER_NAME]은 노드 풀을 롤백하려는 클러스터의 이름입니다.
  • [COMPUTE_ZONE]은 프로젝트의 컴퓨팅 영역입니다.

gcloud container node-pools rollback 문서를 참조하세요.

수동으로 마스터 업그레이드 시작

GCP 콘솔 또는 gcloud 명령줄 도구를 사용하여 수동으로 마스터를 업그레이드할 수 있습니다. 클러스터의 마스터를 업그레이드한 후에는 동일한 버전으로 노드를 업그레이드할 수 있습니다.

gcloud

클러스터 마스터의 버전을 업그레이드하려면 먼저 다음 명령어를 실행하여 사용 가능한 버전을 확인합니다.

gcloud container get-server-config

최신 버전으로 업그레이드하려면 다음 명령어를 실행하세요.

gcloud container clusters upgrade [CLUSTER_NAME] --master

기본값이 아닌 특정 버전으로 업그레이드하려면 다음 명령어를 실행하세요.

gcloud container clusters upgrade [CLUSTER_NAME] --master --cluster-version [CLUSTER_VERSION]

gcloud container clusters upgrade 문서를 참조하세요.

콘솔

클러스터 마스터를 수동으로 업데이트하려면 다음 단계를 수행하세요.

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

    Google Kubernetes Engine 메뉴로 이동

  2. 원하는 클러스터를 선택합니다.

  3. 마스터 버전 옆에 있는 업그레이드 사용 가능 링크를 클릭합니다.

  4. 원하는 버전을 선택한 후 변경을 클릭합니다.

  5. 화면 상단에 있는 화살표를 클릭하여 클러스터 개요 페이지로 돌아갑니다.

다음 단계

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

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

Kubernetes Engine