이 문서에서는 사용자 클러스터에서 제어 영역과 선택한 노드 풀을 업그레이드하는 방법을 보여줍니다.
선택한 노드 풀 업그레이드는 Ubuntu 및 COS 노드 풀에서 지원되지만 Windows 노드 풀에서는 지원되지 않습니다.
특정 상황에서는 사용자 클러스터의 노드 풀 중 일부만 업그레이드하려는 경우가 있습니다. 예를 들어 먼저 트래픽이 적거나 가장 중요하지 않은 워크로드를 실행하는 노드 풀을 업그레이드할 수 있습니다. 워크로드가 새 버전에서 올바르게 실행되었다고 확신하면 결국 모든 노드 풀이 업그레이드될 때까지 추가 노드 풀을 업그레이드할 수 있습니다.
관리자 워크스테이션 업그레이드
관리자 워크스테이션을 업그레이드 대상 버전으로 업그레이드합니다. 자세한 내용은 VMware용 GKE 업그레이드를 참조하세요.
vSphere로 새 OS 이미지 가져오기
gkectl prepare
를 실행하여 OS 이미지를 vSphere로 가져옵니다.
gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
다음을 바꿉니다.
TARGET_VERSION: 업그레이드의 대상 버전
ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터 kubeconfig 파일의 경로
사용 가능한 버전 확인
다음 명령어를 실행하여 업그레이드할 수 있는 버전을 확인합니다.
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG
출력에 현재 버전과 업그레이드에 사용할 수 있는 버전이 표시됩니다. 예를 들면 다음과 같습니다.
gkectl version: 1.14.0-gke.x current admin cluster version: 1.13.1-gke.35 current user cluster versions: - 1.13.1-gke.35 available admin cluster versions: - 1.13.1-gke.35 available user cluster versions: - 1.13.1-gke.35 - 1.14.0-gke.x
사용자 클러스터 제어 영역과 선택한 노드 풀 업그레이드
사용자 클러스터 업그레이드의 안내를 따릅니다.
사용자 클러스터 구성 파일에서 gkeOnPremVersion
을 업그레이드 대상 버전으로 설정합니다. 업그레이드하려는 각 노드 풀에 대해 nodePools.nodePool[i].gkeOnPremVersion
필드를 삭제하거나 빈 문자열로 설정합니다.
업그레이드하지 않을 각 노드 풀에 대해 nodePools.nodePool[i].gkeOnPremVersion
을 현재 버전으로 설정합니다.
예를 들어 사용자 클러스터 버전이 1.13.1-gke.35이고 노드 풀이 두 개(pool-1
및 pool-2
) 있다고 가정합니다. 또한 제어 영역과 pool-1
을 1.14.0-gke.x로 업그레이드하되 pool-2
를 버전 1.13.1-gke.35로 유지한다고 가정합니다.
다음은 사용자 클러스터 구성 파일의 일부입니다. 여기에서 제어 영역과 pool-1
이 버전 1.14.0-gke.x로 업그레이드되도록 지정하지만 pool-2
는 현재 버전인 1.13.1-gke.35 버전으로 유지됩니다.
gkeOnPremVersion: 1.14.0-gke.0 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: 1.13.1-gke.35 cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
사용자 클러스터 업그레이드에 설명된 대로 업그레이드를 계속합니다.
추가 노드 풀 업그레이드
pool-1
를 사용하여 모든 요소가 제대로 작동하며, 이제 pool-2
를 업그레이드한다고 가정해 보겠습니다.
사용자 클러스터 구성 파일의 pool-2
아래에서 gkeOnPremVersion
을 삭제하거나 빈 문자열로 설정합니다.
gkeOnPremVersion: 1.14.0-gke.0 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
gkectl update cluster
를 실행하여 변경사항을 적용합니다.
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
다음을 바꿉니다.
ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터 kubeconfig 파일의 경로
USER_CLUSTER_CONFIG: 사용자 클러스터 구성 파일의 경로
문제 해결
노드 풀을 업그레이드한 후 문제가 발생하면 이전 버전으로 롤백할 수 있습니다. 자세한 내용은 업그레이드 후 노드 풀 롤백을 참조하세요.