업그레이드 개요

이 페이지에서는 멀티 클러스터 환경에서 클러스터를 업그레이드하는 순서를 계획하는 데 도움이 되는 업그레이드 프로세스 및 버전 차이에 대한 정보를 간략히 설명합니다. 업그레이드 계획에 대한 체크리스트를 비롯한 자세한 계획에 대한 정보는 업그레이드 권장사항을 참조하세요.

업그레이드 시퀀스

버전 1.7 이후의 인플레이스(In-Place) 업그레이드는 항상 다음과 같은 특정 업그레이드 시퀀스를 따라야 합니다.

  1. 관리자 워크스테이션을 업그레이드합니다. Google Cloud 콘솔, Google Cloud CLI 또는 Terraform을 사용하여 사용자 클러스터를 업그레이드하려는 경우에도 이 작업을 수행하는 것이 좋습니다.

  2. 사용자 클러스터를 한 번에 하나씩 업그레이드합니다. 버전 1.14 이상에서는 선택사항으로 사용자 클러스터의 노드 풀과 별도로 사용자 클러스터의 제어 영역을 업그레이드할 수 있습니다. 이 작업이 어떨 때 필요한지 알아보려면 사용자 클러스터 업그레이드를 참조하세요.

    사용자 클러스터의 모든 노드 풀이 사용자 클러스터의 제어 영역과 동일한 버전이 되면 사용자 클러스터가 완전히 업그레이드됩니다.

    관리자 클러스터는 관리하는 사용자 클러스터보다 나중에 나온 마이너 버전일 수 없습니다. 사용자 클러스터 중 하나가 관리자 클러스터와 동일한 부 버전인 경우 관리자 클러스터를 업그레이드할 수 없습니다.

  3. 모든 사용자 클러스터가 관리자 클러스터보다 최소 한 단계 나중에 나온 부 버전인 경우 선택사항으로 관리자 클러스터를 업그레이드할 수 있습니다.

업그레이드의 버전 차이 및 버전 규칙이 1.28 이상에서 변경되었습니다. 자세한 내용은 버전 차이를 참조하세요.

사용자 클러스터 업그레이드

사용자 클러스터를 업그레이드할 때 사용자 클러스터를 전체적으로 업그레이드(제어 영역과 클러스터의 모든 노드 풀을 업그레이드)하거나, 사용자 클러스터의 제어 영역은 업그레이드하고 노드 풀은 현재 버전으로 둘 수 있습니다. 사용하는 접근 방식은 다음과 같은 여러 가지 요인에 따라 다릅니다.

  • 클러스터가 위치한 환경(프로덕션 또는 비프로덕션)
  • 유지보수 기간의 길이
  • 사용자 클러스터의 버전

예를 들어 개발 환경에서는 프로세스를 단순하게 유지하여 사용자 클러스터의 제어 영역과 모든 노드 풀을 한꺼번에 업그레이드하는 게 편할 수 있습니다. 하지만 유지보수 기간이 짧은 프로덕션 환경에서는 제어 영역 업그레이드가 시간이 오래 걸리지 않으므로 제어 영역 업그레이드만 진행할 수 있습니다. 또한 고가용성(HA) 제어 영역이라면 제어 영역 업그레이드는 사용자 워크로드에 지장을 주지 않습니다. 제어 영역이 버전 1.28 이상이면 노드 풀을 업그레이드할 때 부 버전을 건너뛸 수 있습니다.

Ubuntu 및 COS 노드 풀의 경우 제어 영역과 별도로 노드 풀의 업그레이드가 지원되지만 Windows 노드 풀에서는 이러한 업그레이드가 지원되지 않습니다.

선택적으로 노드 풀 업그레이드

특정 상황에서는 사용자 클러스터의 노드 풀 중 일부만 업그레이드하려는 경우가 있습니다. 예를 들어 제어 영역을 업그레이드한 후 트래픽이 적거나 가장 중요하지 않은 워크로드를 실행하는 노드 풀을 업그레이드할 수 있습니다. 워크로드가 새 버전에서 올바르게 실행되었다고 확신하면 결국 모든 노드 풀이 업그레이드될 때까지 추가 노드 풀을 업그레이드할 수 있습니다.

사용자 클러스터를 업그레이드할 도구 선택

VMware용 GKE는 사용자 클러스터를 업그레이드할 수 있는 도구를 제공합니다.

  • 명령줄 도구 gkectl - 관리자 워크스테이션에서 실행합니다. 업그레이드하기 전에 사용자 클러스터 구성 파일을 수정하여 클러스터의 제어 영역 및 노드 풀(선택사항)의 대상 버전을 설정하세요. gkectl에 대한 명령줄에서 이 파일을 지정합니다.

  • Google Cloud 콘솔, Google Cloud CLI 또는 Terraform - GKE On-Prem API에 대한 네트워크 연결이 있는 모든 컴퓨터에서 실행할 수 있습니다. 이러한 표준 도구는 Google Cloud 인프라에서 실행되는 GKE On-Prem API의 클라이언트입니다.

    • Terraform을 사용하여 사용자 클러스터를 만든 경우에만 업그레이드에 Terraform을 사용할 수 있습니다.

    • gkectl을 사용하여 사용자 클러스터를 만든 경우 업그레이드에 콘솔 또는 gcloud CLI를 사용하려면 GKE On-Prem API에 클러스터를 등록해야 합니다. 1.16 이상에서는 gkectl을 사용하여 만든 클러스터가 기본적으로 GKE On-Prem API에 등록됩니다. 이전 버전에서 만든 클러스터의 경우 클러스터가 만들어진 후 클러스터를 등록할 수 있습니다.

      업그레이드에 gkectl을 사용하기로 결정하더라도 GKE On-Prem API에 클러스터를 등록하여 콘솔 또는 gcloud CLI를 통해 클러스터에 대한 정보를 얻을 수 있습니다.

사용하는 도구는 사용자 클러스터를 업그레이드하려는 방법에 따라 다릅니다.

  • 클러스터 전체 업그레이드: gkectl, Google Cloud 콘솔, Google Cloud CLI 또는 Terraform을 사용하여 사용자 클러스터를 업그레이드할 수 있습니다(제어 영역과 모든 노드 풀 포함).

  • 제어 영역만 업그레이드: gkectl, gcloud CLI 또는 Terraform을 사용하여 노드 풀과 별도로 사용자 클러스터의 제어 영역을 업그레이드할 수 있습니다. 콘솔은 제어 영역만의 업그레이드는 지원하지 않습니다.

  • 제어 영역이 업그레이드된 후 선택적으로 노드 풀 업그레이드: 제어 영역이 업그레이드된 후 gkectl, gcloud CLI 또는 Terraform을 사용하여 특정 노드 풀을 업그레이드할 수 있습니다.

  • 제어 영역과 하나 이상의 노드 풀을 동시에 업그레이드: gkectl만 이 사용 사례를 지원합니다.

관리자 클러스터 업그레이드

모든 사용자 클러스터의 제어 영역과 노드 풀이 관리자 클러스터보다 최소 한 단계 나중에 나온 부 버전인 경우 선택사항으로 관리자 클러스터를 업그레이드할 수 있습니다. gkectl만 관리자 클러스터의 업그레이드를 지원합니다. GKE On-Prem API 클라이언트는 관리자 클러스터의 업그레이드를 지원하지 않습니다.

버전 차이

버전 차이는 관리자 클러스터와 해당 클러스터에서 관리하는 사용자 클러스터 간의 마이너 버전 차이입니다. 다음 섹션에서 사용자 클러스터 버전은 제어 영역과 노드 풀의 버전을 전체적으로 나타냅니다.

또한 버전 차이는 사용자 클러스터의 제어 영역과 사용자 클러스터의 노드 풀 간의 마이너 버전 차이입니다.

멀티 클러스터 환경에서 업그레이드에 지원되는 버전 차이 및 버전 규칙을 이해하면 클러스터 업그레이드 순서를 계획하는 데 도움이 될 수 있습니다.

관리자 및 사용자 클러스터 버전 차이

관리자 클러스터는 다른 버전의 사용자 클러스터를 관리할 수 있습니다. 이 기능을 사용하면 조직에 맞는 일정에 따라 사용자 클러스터 Fleet을 업그레이드할 수 있습니다.

1.16 이하

버전 1.16 이하에서 사용자 클러스터는 관리자 클러스터보다 한 단계 나중에 나온 부 버전이어야 합니다. 예를 들어 관리자 클러스터가 1.15인 경우 해당 관리자 클러스터에서 관리하는 사용자 클러스터는 1.15 또는 1.16일 수 있습니다. 일반적으로 1.n이 관리자 클러스터 마이너 버전이면 사용자 클러스터는 1.n 또는 1.n+1일 수 있습니다.

관리자 클러스터가 사용자 클러스터와 동일한 마이너 버전이 되기 전에는 사용자 클러스터를 다음 마이너 버전으로 업그레이드할 수 없습니다.

1.28 이상

버전 1.28 이상에서 사용자 클러스터는 관리자 클러스터보다 최대 2단계 나중에 나온 부 버전일 수 있습니다. 예를 들어 관리자 클러스터가 1.15인 경우 해당 관리자 클러스터에서 관리하는 사용자 클러스터는 1.15, 1.16 또는 1.28일 수 있습니다(1.28은 GKE와 버전 정렬에서 1.16 다음 버전임). 일반적으로 1.n이 관리자 클러스터 부 버전이면 사용자 클러스터는 1.n, 1.n+1 또는 1.n+2일 수 있습니다.

관리자 클러스터가 최소 한 단계 나중에 나온 부 버전으로 업그레이드될 때까지 1.n+2의 사용자 클러스터를 다음 부 버전으로 업그레이드할 수 없습니다.

사용자 클러스터 제어 영역 및 노드 풀 버전 차이

1.16 이하

버전 1.16 이하에서 사용자 클러스터의 제어 영역은 클러스터의 노드 풀보다 한 단계 나중에 나온 부 버전이어야 합니다. 예를 들어 사용자 클러스터의 제어 영역이 1.16인 경우 클러스터의 노드 풀은 1.15 또는 1.16일 수 있습니다. 일반적으로 1.n가 사용자 클러스터 제어 영역의 마이너 버전인 경우 클러스터의 노드 풀은 1.n 또는 1.n-1일 수 있습니다.

모든 노드 풀이 제어 영역과 동일한 부 버전이 되기 전에는 사용자 클러스터를 다음 부 버전으로 업그레이드할 수 없습니다.

1.28 이상

버전 1.28 이상에서 사용자 클러스터의 제어 영역은 클러스터의 노드 풀보다 최대 2단계 나중에 나온 부 버전일 수 있습니다. 예를 들어 사용자 클러스터의 제어 영역이 1.28인 경우 클러스터의 노드 풀은 1.15, 1.16, 1.28일 수 있습니다. 일반적으로 1.n이 사용자 클러스터 제어 영역의 부 버전인 경우 클러스터의 노드 풀은 1.n, 1.n-1 또는 1.n-2일 수 있습니다.

모든 노드 풀이 1.n 또는 1.n-1이 되기 전에는 사용자 클러스터 제어 영역을 다음 부 버전으로 업그레이드할 수 없습니다.

관리자 클러스터 및 사용자 클러스터 제어 영역 업그레이드의 버전 규칙

관리자 클러스터 및 사용자 클러스터 제어 영역 업그레이드의 버전 규칙은 동일합니다. 동일한 마이너 출시 버전 또는 다음 마이너 출시 버전에 포함된 버전으로 직접 업그레이드할 수 있습니다. 예를 들어 1.28.0에서 1.28.1로 업그레이드하거나 1.16.1에서 1.28.0으로 업그레이드할 수 있습니다. 패치 버전은 업그레이드 버전 규칙에 영향을 주지 않습니다.

다음 마이너 출시 버전에 포함되지 않는 버전으로 업그레이드하는 경우 현재 버전과 대상 버전 사이에 각 마이너 출시 버전 중 하나를 통해 업그레이드해야 합니다. 마이너 버전 건너뛰기는 지원되지 않습니다. 예를 들어 버전 1.15.x에서 버전 1.28.x로 업그레이드하려는 경우 직접 업그레이드할 수 없습니다. 이럴 때는 먼저 1.15.x에서 1.16.x로 업그레이드한 후 1.28.x로 업그레이드해야 합니다.

일반적으로 관리자 클러스터 업그레이드 및 사용자 클러스터 제어 영역 업그레이드에는 1.n에서 1.n+1로의 업그레이드만 지원됩니다.

노드 풀 업그레이드의 버전 규칙

버전 1.28 이상에서 사용자 클러스터의 노드 풀을 업그레이드할 때 하나의 부 버전을 건너뛸 수 있습니다. 예를 들어 사용자 클러스터 제어 영역이 1.28이고 노드 풀이 1.15인 경우 1.16을 건너뛰고 노드 풀을 1.28로 직접 업그레이드할 수 있습니다. 패치 버전은 업그레이드 버전 규칙에 영향을 주지 않습니다.

일반적으로 사용자 클러스터 제어 영역이 1.n인 경우 1.n-2인 노드 풀을 1.n로 직접 업그레이드할 수 있습니다. 노드 풀을 업그레이드할 때 하나의 부 버전을 건너뛰면 두 번의 노드 풀 업그레이드(1.n-2에서 1.n-1로 업그레이드한 후 1.n으로 업그레이드)를 수행하는 데 걸리는 시간이 줄어들 수 있습니다. 이러한 이유로 사용자 클러스터에서 실행되는 노드 풀과 별도로 사용자 클러스터의 제어 영역을 업그레이드하는 것이 좋습니다.

패치 버전 업그레이드

가능할 때마다 클러스터에 최신 보안 수정이 적용되도록 최신 패치 버전으로 업그레이드하는 것이 좋습니다. 패치 버전은 버전 차이 및 업그레이드 규칙에 영향을 주지 않습니다. 지정된 마이너 버전의 경우 어떤 상위 패치 버전으로든 업그레이드할 수 있습니다. 즉, YX보다 크기만 하면 1.28.X 버전 클러스터를 1.28.Y 버전으로 업그레이드할 수 있습니다. 예를 들어 1.16.0에서 1.16.1로 업그레이드하고 1.16.1에서 1.16.3으로 업그레이드할 수 있습니다.

다음 단계

업그레이드 권장사항을 검토하고 클러스터 업그레이드 계획 세우기