Autopilot 클러스터 업그레이드


이 페이지에서는 관련 태스크와 설정에 대한 자세한 내용과 연결된 링크를 포함하여 Google Kubernetes Engine(GKE) Autopilot 클러스터에서 자동 업그레이드가 작동하는 방식을 설명합니다. 이 정보를 참조하여 워크로드 중단을 최소화하면서 클러스터를 업데이트하여 안정성과 보안을 확보할 수 있습니다.

클러스터 및 노드 풀 업그레이드의 작동 방식

이 섹션에서는 자동 업그레이드를 수행하는 동안 클러스터가 어떻게 되는지 설명합니다. Google은 자동 업그레이드를 시작하고 모든 GKE 클러스터에서 자동 업그레이드를 관찰하며 문제가 발생하면 개입합니다.

클러스터노드보다 먼저 업그레이드됩니다.

클러스터 업그레이드

이 섹션에서는 Google에서 클러스터를 자동 업그레이드할 경우의 예상 결과를 설명합니다. Autopilot 모드에서 생성된 클러스터는 리전 클러스터입니다. 리전 클러스터에는 제어 영역 복제본이 여러 개 있으며 한 번에 복제본 하나만 무작위 순서로 업그레이드됩니다. 업그레이드하는 동안 클러스터는 가용성을 높게 유지하며 업그레이드하는 동안에만 각 제어 영역 복제본을 사용할 수 없습니다.

유지보수 기간 또는 유지보수 제외가 구성되면 가능한 경우에 한해 적용됩니다.

노드 풀 업그레이드

Autopilot 클러스터와 노드 풀은 동일한 버전의 GKE를 실행합니다. 이 섹션에서는 Google에서 노드 풀을 자동 업그레이드할 경우의 예상 결과를 설명합니다.

노드 풀은 한 번에 하나씩 업그레이드됩니다. 노드 풀 내에서 노드는 한 번에 하나씩 무작위 순서로 업그레이드됩니다.

이 프로세스는 노드 수와 워크로드 구성에 따라 몇 시간이 걸릴 수 있습니다. 노드 업그레이드 속도를 저하시킬 수 있는 구성 일부는 다음과 같습니다.

유지보수 기간 또는 유지보수 제외가 구성되면 가능한 경우에 한해 적용됩니다.

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

  1. 일시 급증 업그레이드가 기본적으로 사용 설정되어 있으므로 GKE는 업그레이드된 버전으로 새 일시 급증 노드를 만들고 노드가 제어 영역에 등록될 때까지 기다립니다.
  2. GKE는 업그레이드할 기존 노드('대상 노드'라고 함)를 선택합니다. GKE에서 대상 노드를 차단하고 드레이닝을 시작합니다. 이때 GKE는 대상 노드에서 새 pod를 예약할 수 없습니다.
  3. 대상 노드의 pod가 다른 노드로 다시 예약됩니다. 다시 예약할 수 없는 pod는 노드가 다시 예약될 때까지 PENDING 상태로 유지됩니다.
  4. 대상 노드가 삭제됩니다.
  5. 제공된 버전으로 노드 자동 업그레이드가 상당수 진행되어 GKE 장비 전체에서 비정상 노드가 발생하면 문제를 조사하는 동안 같은 버전으로의 업그레이드가 중단됩니다.

자동 업그레이드

Autopilot 클러스터를 만들면 기본적으로 자동 업그레이드가 클러스터와 노드 풀에서 사용 설정됩니다. Google은 새 GKE 버전이 자동 업그레이드 대상으로 선택된 경우에 클러스터를 업그레이드합니다.

자동 업그레이드가 적용되는 경우(또는 적용되지 않는 경우)를 세부적으로 제어하려면 유지보수 기간 및 유지보수 제외를 구성하면 됩니다.

Autopilot 클러스터가 출시 채널에 자동으로 등록되므로 클러스터 제어 영역 업그레이드 완료와 특정 노드 풀 업그레이드 시작 간의 짧은 기간 동안을 제외하고 노드는 항상 클러스터 자체와 동일한 버전의 GKE를 실행합니다.

자동 업그레이드 대상 버전이 선택되는 방법

새로운 GKE 버전은 정기적으로 출시되지만 자동 업그레이드 대상 버전이 바로 선택되지는 않습니다. 이전 버전을 부분적으로 실행하는 클러스터의 자동 업그레이드 대상으로 Google이 선택하는 GKE 버전은 클러스터를 충분히 사용하고 시간이 지나도 안정적인 것으로 입증된 버전입니다.

새 자동 업그레이드 대상은 출시 노트에 발표됩니다. 특정 버전이 클러스터 자동 업그레이드와 노드 자동 업그레이드 대상으로 몇 주 동안 선택되는 경우가 간혹 있습니다.

새 부 버전이 일반 안정화 버전으로 출시되면 일반적으로 사용 가능한 부 버전 중에서 가장 오래된 버전의 지원이 중단됩니다. 지원되지 않는 부 버전을 실행하는 클러스터는 자동으로 다음 부 버전으로 업그레이드됩니다.

부 버전(예: v1.14.x)이 같은 클러스터는 새 패치 출시 버전으로 자동 업그레이드될 수 있습니다.

자동 업그레이드가 허용되는 경우 구성

기본적으로 자동 업그레이드는 언제든지 허용됩니다. 자동 업그레이드는 특히 리전 클러스터에 거의 영향을 주지 않습니다. 그러나 세부적으로 제어해야 하는 워크로드도 있을 수 있습니다. 유지보수 기간 및 유지보수 제외를 구성하여 자동 업그레이드가 허용되는 경우와 허용되지 않는 경우를 관리할 수 있습니다.

일시 급증 업그레이드

일시 급증 업그레이드는 한 번에 GKE에서 업그레이드할 수 있는 노드 수를 제어하고 워크로드에 지장을 주는 업그레이드가 미치는 영향을 제어합니다. Autopilot 클러스터는 자동으로 일시 급증 업그레이드를 사용하도록 구성되며 재정의될 수 없습니다.

일시 급증 업그레이드 동작은 두 가지 설정으로 결정됩니다.

max-surge-upgrade
업그레이드 중에 노드 풀에 추가할 수 있는 노드 수. 기본값은 1입니다.
max-unavailable-upgrade

업그레이드 중에 동시에 사용할 수 없는 노드 수. 기본값은 0입니다.

동시에 업그레이드되는 노드 수는 max-surge-upgrademax-unavailable-upgrade의 합계입니다.

기본 일시 급증 업그레이드는 maxSurge=1 maxUnavailable=0.로 설정됩니다. 즉, 업그레이드 중에는 일시 급증 노드 1개만 노드 풀에 추가할 수 있으므로 한 번에 노드 1개만 업그레이드됩니다.

할당량과의 관계

노드를 다시 만들 때는 추가 Compute Engine 리소스가 필요하지 않지만 노드의 일시 급증 업그레이드에는 필요합니다. 리소스 할당에는 Compute Engine 할당량이 적용됩니다. 구성에 따라 이 할당량으로 인해 동시 업그레이드 수가 제한되거나 업그레이드가 실패할 수 있습니다.

할당량에 대한 자세한 내용은 노드 업그레이드 및 할당량을 참조하세요.

업그레이드 알림 받기

GKE에서 업그레이드 알림을 Pub/Sub에 게시하여 GKE로부터 클러스터 관련 정보를 받을 수 있는 채널을 제공합니다.

자세한 내용은 클러스터 업그레이드 알림 수신을 참조하세요.

다음 단계