이 문서에서는 클러스터 중단 예산의 개념을 소개하고 환경의 요구사항에 맞게 선택적으로 맞춤설정하는 방법을 설명합니다. 클러스터 중단 예산은 플랫폼 관리자가 워크로드의 성능, 안정성, 보안을 개선하면서 워크로드의 중단을 최소화할 수 있도록 지원하는 기능 모음의 도구 중 하나입니다.
클러스터 업그레이드(GKE가 클러스터의 제어 영역 및 노드에서 사용하는 버전을 업데이트하는 경우)는 GKE 클러스터의 주요 중단 원인이 될 수 있습니다. 업그레이드에 대한 자세한 내용은 GKE 클러스터 업그레이드 정보를 참고하세요. 클러스터 업그레이드 중에 중단을 최소화하는 다른 모든 기능에 대한 자세한 내용은 해당 문서의 클러스터 업그레이드 제어 섹션을 참고하세요. 클러스터 업그레이드 외에 클러스터 수명 주기 변경에 대한 일반적인 자세한 내용은 클러스터 수명 주기 변경 관리로 중단 최소화를 참고하세요.
클러스터 중단 예산이란 무엇인가요?
클러스터가 자동 업그레이드로 인해 너무 자주 중단되지 않도록 하기 위해 GKE는 기본적으로 클러스터 중단 예산을 적용하여 자동 클러스터 제어 영역 업그레이드 간의 최소 간격을 설정합니다. GKE는 클러스터 생성과 첫 번째 자동 제어 영역 업그레이드 사이에도 이 예산을 적용합니다. 또한 클러스터 제어 영역을 수동으로 업그레이드하는 경우 GKE는 다음 자동 업그레이드를 수행할 때 클러스터 중단 예산을 준수합니다. 이 업그레이드가 클러스터 중단 예산을 위반하더라도 언제든지 클러스터를 수동으로 업그레이드할 수 있습니다.
클러스터에서 GKE는 노드보다 먼저 제어 영역을 자동으로 업그레이드합니다. 따라서 이 예산은 자동 클러스터 노드 업그레이드의 최소 케이던스도 설정합니다.
GKE에는 다양한 유형 의 버전 업그레이드에 대한 기본 클러스터 중단 예산이 있습니다.
- 패치 버전 업그레이드: 24시간
- 마이너 버전 업그레이드: 30일
GKE는 동일한 유형의 업그레이드 간에 예산을 적용합니다. 예를 들어 GKE는 패치 버전 1.35.0-gke.1403000과 1.35.0-gke.1624000 간에 클러스터를 업그레이드하는 데 24시간을 기다리고 1.34와 1.35 간에 30일을 기다립니다. 하지만 GKE는 패치 업그레이드를 수행하기 전에 마이너 업그레이드 후 24시간을 기다립니다.
GKE는 클러스터 업그레이드에만 클러스터 중단 예산을 사용하며 다른 유형의 GKE 클러스터 변경사항에는 사용하지 않습니다.
클러스터 중단 예산은 유지보수 기간 및 제외와는 별개이지만 함께 사용하면 좋습니다. 유지보수 기간 및 제외 유지보수 정책은 GKE 클러스터 유지보수가 발생할 수 있는 시기와 발생할 수 없는 시기를 제어하는 반면 클러스터 중단 예산은 클러스터 업그레이드 간의 특정 시간 간격을 설정합니다.
클러스터의 중단 예산을 맞춤설정해야 하는 경우
GKE의 기본 클러스터 중단 예산은 업그레이드의 적시성과 연속 업그레이드 방지, 안정성 최적화 간의 균형을 반영합니다. 하지만 이러한 일반적인 값은 클러스터 환경에 적합하지 않을 수 있습니다.
자동 클러스터 업그레이드 간의 최소 시간을 제어하려면 클러스터 중단 예산을 구성하면 됩니다. 예를 들어 다음 시나리오를 고려해 보세요.
- 버전을 프로덕션에 푸시하기 전에 GKE 제어 영역 패치 버전을 평가하는 맞춤 프로세스가 있으며 이 프로세스는 기본 클러스터 예산보다 더 많은 시간이 걸립니다.
- 모든 노드 풀을 업그레이드하는 데 더 많은 시간이 걸리는 대규모 클러스터가 있습니다. 이러한 노드 풀에서 버전의 상대적 일관성을 유지하려고 합니다. 따라서 패치 업그레이드 빈도를 낮추고 매월 업그레이드하는 동시에 유지보수 기간을 자주 허용하여 노드 풀 업그레이드가 적시에 완료되도록 합니다.
자동 업그레이드의 클러스터 중단 예산 설정
두 마이너 업그레이드 또는 두 패치 업그레이드 간의 간격을 제어해야 하는 특정 요구사항이 있는 경우 자체 클러스터 중단 예산을 설정할 수 있습니다. 하지만 먼저 유지보수 기간 을 구성하여 GKE 클러스터 유지보수의 반복 시간을 설정하는 것이 좋습니다. 그런 다음 클러스터 중단 예산으로 업그레이드 간의 간격을 선택적으로 맞춤설정할 수 있습니다.
클러스터 업그레이드를 제어하기 위해 GKE에서 제공하는 다른 사용 가능한 도구와 함께 클러스터 중단 예산을 사용하는 것이 좋습니다. 다른 모든 업그레이드 도구와 함께 작동하는 이러한 설정은 GKE가 클러스터를 새 버전으로 자동 업그레이드하는 시기에만 영향을 미칩니다. GKE는 여전히 유지보수 기간과 제외 기간을 준수하며, 출시 순서를 따르고, 자동 업그레이드에 일반적으로 적용되는 기타 표준 절차도 계속 따릅니다.
기본 클러스터 중단 예산은 패치 업그레이드의 경우 24시간, 마이너 업그레이드의 경우 30일입니다. 0일에서 90일 사이의 시간 간격을 구성할 수 있습니다. 하지만 이러한 값을 업데이트할 때는 다음 고려사항에 유의해야 합니다.
- 이보다 오래 걸리는 특정 버전 검증 프로세스가 없는 한 패치 업그레이드 간격을 30일보다 길게 설정하지 않는 것이 좋습니다. 30일보다 적은 빈도로 업그레이드하면 중요한 패치를 놓칠 수 있습니다.
- 클러스터 환경에 허용되는 만큼 자주 마이너 업그레이드를 허용하는 것이 좋습니다. 마이너 업그레이드 간격을 최대 90일로 설정하면 지원 종료에 도달했을 때 GKE가 클러스터를 마이너 버전에서 업그레이드해야 할 가능성이 높아집니다. GKE는 마이너 버전이 지원 종료에 도달하면 7일의 마이너 업그레이드에 대한 별도의 클러스터 중단 예산을 준수하며 구성한 클러스터 중단 예산을 준수하지 않습니다. 자세한 내용은 지원 종료 시 자동 업그레이드를 참고하세요.
- 패치 업그레이드 간격을 마이너 업그레이드 간격보다 짧게 설정하는 것이 좋습니다.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면
설치한 후
초기화합니다.
gcloud CLI를 이전에 gcloud CLI를 설치했으면 최신
버전을
gcloud components update명령어를 실행하여 가져옵니다. 이전 gcloud CLI 버전에서는 이 문서의 명령어를 실행하지 못할 수 있습니다.
클러스터 중단 예산 구성
먼저 아직 구성하지 않은 경우 유지보수 기간을 구성하는 것이 좋습니다 .
그런 다음 맞춤 클러스터 중단 예산을 설정하려면 gcloud CLI를 사용하여 클러스터를 만들거나 업데이트할 때 다음 플래그를 사용하세요.
- 마이너 업그레이드:
--maintenance-minor-version-disruption-interval=MINOR_INTERVAL - 패치 업그레이드:
--maintenance-patch-version-disruption-interval=PATCH_INTERVAL
이러한 플래그의 경우 MINOR_INTERVAL 또는
PATCH_INTERVAL을 각각 0일 (0s)에서 90일 (7776000s) 사이의 초 단위로 표현된 기간으로 바꿉니다.
다음과 같은 경우에 이러한 플래그를 사용할 수 있습니다.
- 클러스터 만들기:
- 클러스터 업데이트:
gcloud container cluster update
플래그는 동시에 또는 독립적으로 사용할 수 있습니다.
클러스터 중단 예산을 기본값으로 재설정
클러스터 중단 예산을 패치 업그레이드의 경우 24시간, 마이너 업그레이드의 경우 30일의 기본값으로 재설정하려면 다음 플래그를 사용하면 됩니다.
- 마이너 업그레이드:
--clear-maintenance-minor-version-disruption-interval - 패치 업그레이드:
--clear-maintenance-patch-version-disruption-interval
gcloud container cluster
update 명령어로 클러스터를 업데이트할 때 이러한 플래그를 사용하세요.
플래그는 동시에 또는 독립적으로 사용할 수 있습니다.