이 페이지에서는 Google Kubernetes Engine(GKE) 클러스터의 업그레이드에 관한 정보를 확인하는 방법을 설명합니다. GKE는 시간이 지남에 따라 모든 클러스터를 자동으로 업그레이드합니다. GKE가 클러스터를 업그레이드할 때 GKE는 별도의 작업으로 Kubernetes 컨트롤 플레인과 워커 노드의 버전을 업데이트합니다.
GKE는 클러스터 업그레이드에 관한 정보를 집계하여 사용자가 클러스터 상태를 더 잘 파악할 수 있도록 지원합니다. 클러스터에 대해 다음 정보를 확인할 수 있습니다.
- 예약된 업그레이드 (프리뷰): GKE는 자동 클러스터 컨트롤 플레인 업그레이드전에 최소 72시간 전에 알림을 보냅니다. 예약된 업그레이드를 사용 설정하면 GKE는 이 사전 알림을 제공한 후에만 클러스터의 컨트롤 플레인을 정기적으로 자동으로 업그레이드합니다. 사전에 알림을 받지 못하면 클러스터의 컨트롤 플레인이 업그레이드되지 않습니다.
- 자동 업그레이드 대상: 클러스터의 기존 버전과 제약 조건에 따라 패치 또는 새 마이너 버전이 될 수 있는, GKE에서 클러스터에 타겟팅하는 새 버전을 확인합니다. 자동 업그레이드 대상이 없다면 클러스터가 이미 최신 업그레이드 대상에 있거나, 기술적 또는 비즈니스상의 이유로 GKE에서 자동 업그레이드 대상을 할당하지 않은 것입니다. GKE 출시 노트 버전 업데이트(예: 2024-R33 노트)에서 클러스터의 마이너 버전을 기반으로 일반 자동 업그레이드 대상을 검색할 수도 있습니다.
- 자동 업그레이드 상태: GKE 클러스터에는 클러스터 업그레이드 상태가 있습니다. 이 상태를 사용하여 현재 업그레이드와 GKE가 유지보수 제외 또는 업그레이드를 방지하는 이유와 같은 요소를 포함하여 클러스터를 자동으로 업그레이드할 시점을 선택할 때 고려하는 제약 조건을 자세히 알아보세요. 자세한 내용은 클러스터 자동 업그레이드 상태를 참조하세요.
업그레이드 기록: GKE는 자동 업그레이드와 수동 업그레이드를 모두 포함하여 클러스터의 최근 컨트롤 플레인 업그레이드 및 노드 업그레이드에 대한 스냅샷을 제공합니다. 최근 컨트롤 플레인 및 노드 업그레이드의 경우 다음과 같은 세부정보를 확인할 수 있습니다.
- 버전: 초기 버전 및 대상 버전
- 상태: 업그레이드가 아직 실행 중인지, 아니면 성공, 실패 또는 취소되었는지 여부
- 시간: 시작 시간 및 종료 시간
- 시작 유형: 업그레이드가 자동으로 트리거되었는지 또는 수동으로 트리거되었는지 여부
지원 종료일: GKE는 최대 24개월 동안 마이너 버전을 지원합니다. 자세한 내용은 GKE 마이너 버전 수명 주기를 참조하세요. 모든 현재 마이너 버전의 지원 종료일은 출시 채널의 예상 일정을 참조하세요.
클러스터 이벤트: GKE는 업그레이드가 시작되거나 완료되는 시점, 새 버전이 출시되는 시점, 보안 게시판, 지원 종료일과 같은 특정 이벤트에 대해 클러스터 알림을 Cloud Logging으로 전송합니다. GKE가 Cloud Logging을 사용하여 이러한 이벤트를 자동으로 표시하는 것은 물론 사용자가 이러한 알림을 Pub/Sub로 라우팅할 수도 있습니다. 자세한 내용은 클러스터 알림을 참조하세요.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치했으면
gcloud components update명령어를 실행하여 최신 버전을 가져옵니다. 이전 gcloud CLI 버전에서는 이 문서의 명령어를 실행하지 못할 수 있습니다.
예약된 클러스터 업그레이드에 대한 알림 받기
GKE가 자동 클러스터 컨트롤 플레인 업그레이드에 대해 사전에 알리도록 예약된 업그레이드를 사용 설정할 수 있습니다. 이 선택 기능이 사용 설정되면 GKE는 업그레이드 시작 시간, 대상 버전, 업그레이드할 클러스터의 컨트롤 플레인을 알려주는 클러스터 알림을 Cloud Logging 또는 Pub/Sub(선택사항)에 게시합니다. GKE는 시작 시간 72~96시간 전에 알림을 보냅니다. GKE는 예약된 시작 시간으로부터 8시간 이내에 다음 중 하나로 업그레이드를 시작합니다.
- 알림에 명시된 GKE 버전
- 업그레이드 전에 패치가 클러스터의 출시 채널에서 자동 업그레이드 대상이 되는 경우 동일한 마이너 버전의 최신 패치
예약된 업그레이드 알림은 GKE가 컨트롤 플레인 업그레이드를 시작하는 시점을 확실하게 알려줍니다. 하지만 이 알림은 GKE가 제공된 시간에 클러스터를 업그레이드한다고 보장하지는 않습니다. 또한 알림은 업그레이드가 시작되는 시점만 알려주며 업그레이드가 완료되는지 여부는 보장하지 않습니다.
이 기능을 사용 설정하지 않아도 GKE는 클러스터 컨트롤 플레인을 자동으로 업그레이드합니다. 하지만 이 기능이 없는 기본 동작은 예약된 업그레이드 알림을 사전에 받지 못한다는 것입니다.
예약된 업그레이드 알림을 받을 때 취할 수 있는 조치 또는 취할 수 없는 조치와 GKE가 지정된 시간에 클러스터를 업그레이드하지 않을 수 있는 기타 이유를 이해하려면 다음 섹션을 검토하세요.
예약된 업그레이드 알림을 받을 때 수행할 작업
예약된 업그레이드가 알림에 제공된 시간에 진행될 준비가 되었다면 GKE가 자동 업그레이드를 시작할 때 클러스터 환경 및 워크로드의 상태를 모니터링하는 것 외에는 추가 조치를 취할 필요가 없습니다.
또는 업그레이드 시점에 영향을 미치는 다음 조치 중 일부를 취할 수 있습니다.
- 유지보수 제외: GKE가 컨트롤 플레인을 자동으로 업그레이드할 준비가 되지 않았다면 업그레이드가 예정된 시간에 발생하지 않도록 유지보수 제외를 구성할 수 있습니다.
- 유지보수 기간: GKE가 클러스터를 자동으로 업그레이드할 요일의 다른 시간을 지정할 수 있는 유지보수 기간을 구성할 수도 있습니다.
- 수동 업그레이드: 업그레이드를 더 빨리 진행하려면 클러스터의 컨트롤 플레인을 수동으로 업그레이드할 수 있습니다.
GKE가 예약된 업그레이드를 실행하지 않을 수 있는 이유
알림이 전송된 시점과 업그레이드가 시작될 예정인 시점 사이에 버전 문제가 관찰되면 GKE가 지정된 시간에 예약된 업그레이드를 실행하지 않을 수 있습니다. 자세한 내용은 클러스터의 다음 업그레이드를 차단하는 요소 찾기를 참조하세요.
사용자의 조치 또는 기타 예상치 못한 상황으로 인해 GKE가 예약된 업그레이드를 취소하는 경우 업그레이드가 다시 예약되면 GKE는 다른 클러스터 알림을 전송합니다.
제한사항
- 출시 시퀀싱으로 예약된 업그레이드를 사용 설정할 수 없습니다.
- GKE는 예약된 업그레이드가 취소되는 경우 알림을 전송하지 않습니다. GKE는 새 예약된 업그레이드에 대해서만 알림을 전송합니다.
- 예약된 업그레이드를 사용 설정하면 알림이 사용 설정되지 않은 경우보다 자동 업그레이드가 더 느리게 완료될 수 있습니다. 이 효과는 각 업그레이드에 대해 GKE가 최소 72시간의 사전 알림을 제공하고 8시간의 시작 기간을 준수하며 클러스터에 유지보수 기간을 구성한 경우 이를 준수해야 하기 때문에 발생합니다. 클러스터에서 업그레이드를 최대한 효율적으로 진행해야 하는 경우 이 기능을 사용하지 않는 것이 좋습니다. 또한 이 기능을 사용 설정하되 필요할 때 수동 업그레이드를 사용하여 업그레이드를 진행할 수도 있습니다.
- GKE는 컨트롤 플레인 버전 업그레이드에 대해서만 사전 알림을 제공하며 노드 풀 업그레이드 또는 기타 유형의 노드 업데이트에 대해서는 제공하지 않습니다. 업그레이드 (버전 업데이트)와 기타 유형의 업데이트 간의 차이점에 대한 자세한 내용은 클러스터 수명 주기 변경사항을 관리하여 서비스 중단 최소화를 참조하세요.
- Terraform으로 예약된 업그레이드를 사용 설정하거나 중지할 수 없습니다.
예약된 업그레이드 알림은 사전 알림 없이 자동 컨트롤 플레인 업그레이드가 시작되지 않는다는 것만 보장합니다. 하지만 알림은 다음을 보장하지 않습니다.
- 업그레이드가 정확한 시간에 시작되는 것은 보장되지 않으며 8시간의 시작 기간 내에만 시작됩니다.
- GKE가 해당 기간 내에 업그레이드를 시작하는 것은 보장되지 않습니다. 자세한 내용은 GKE가 예약된 업그레이드를 실행하지 않을 수 있는 이유를 참조하세요.
- 출시 채널에 동일한 마이너 버전의 최신 패치 자동 업그레이드 대상이 있는 경우 GKE가 컨트롤 플레인을 정확한 패치 버전으로 자동으로 업그레이드하는 것은 보장되지 않습니다.
예약된 업그레이드 사용 설정
예약된 업그레이드를 사용 설정하고 CLUSTER_NAME을 클러스터 이름으로 바꿉니다.
gcloud beta container clusters update CLUSTER_NAME
--enable-scheduled-upgrades
예약된 업그레이드를 사용 설정한 후 Cloud Logging으로 알림을 보거나 Pub/Sub로 알림을 구성할 수 있습니다. 자세한 내용은 클러스터 알림을 참조하세요.
예약된 업그레이드 알림을 받으면 예약된 업그레이드 알림을 받을 때 수행할 작업 을 검토하세요.
예약된 업그레이드 중지
예약된 업그레이드를 중지하고 CLUSTER_NAME을 클러스터 이름으로 바꿉니다.
gcloud beta container clusters update CLUSTER_NAME
--disable-scheduled-upgrades
이 기능을 중지하면 GKE는 더 이상 예약된 업그레이드에 대해 알리지 않습니다.
클러스터 업그레이드 관련 정보 가져오기
콘솔 또는 gcloud CLI를 사용하여 클러스터 업그레이드에 관한 정보를 사전에 확인할 수 있습니다.Google Cloud
프로젝트 수준의 업그레이드 관련 정보 가져오기
프로젝트 전반의 클러스터 업그레이드에 관한 집계된 정보를 가져오려면 업그레이드 대시보드를 사용하면 됩니다.
Google Cloud 콘솔에서 업그레이드 대시보드로 이동합니다.
이 대시보드에 포함된 탭은 다음과 같은 업그레이드 관련 정보를 집계합니다.
- 최근 컨트롤 플레인 및 노드 업그레이드 상태
- 업그레이드에 대한 클러스터 알림 로그
- 업그레이드와 관련된 권장사항
- 특정 마이너 버전의 지원 종료 타임라인
- 각 출시 채널의 클러스터 수
클러스터 수준의 업그레이드 관련 정보 가져오기
콘솔
콘솔에서 Kubernetes 클러스터 페이지로 이동합니다. Google Cloud
클러스터 세부정보 페이지를 볼 클러스터 이름을 선택합니다.
클러스터 세부정보 페이지에서 클러스터 업그레이드 섹션을 확인합니다.
gcloud
다음 명령어를 실행합니다.
gcloud container clusters get-upgrade-info CLUSTER_NAME
CLUSTER_NAME을 클러스터 이름으로 바꿉니다.
Standard 클러스터 노드 풀의 업그레이드 정보 가져오기
Standard 클러스터의 개별 노드 풀을 확인할 수 있습니다. 이 섹션은 GKE가 노드를 관리하는 Autopilot 클러스터에는 적용되지 않으므로 관리할 노드 풀이 없습니다.
콘솔
콘솔에서 Kubernetes 클러스터 페이지로 이동합니다. Google Cloud
클러스터 이름을 클릭하여 세부정보를 확인합니다.
노드 탭을 클릭합니다.
노드 풀 섹션에서 업그레이드 정보를 가져오려는 노드 풀의 이름을 클릭합니다.
노드 풀 세부정보 페이지에서 업그레이드 섹션을 확인합니다.
gcloud
다음 명령어를 실행합니다.
gcloud container node-pools get-upgrade-info POOL_NAME
--cluster=CLUSTER_NAME
POOL_NAME을 노드 풀의 이름으로 바꿉니다.
클러스터 자동 업그레이드 상태
클러스터에 대한 자동 업그레이드의 가능한 상태는 다음과 같습니다.
ACTIVE: 활성 업그레이드 상태입니다.UNKNOWN: 업그레이드 상태를 알 수 없습니다.MINOR_UPGRADE_PAUSED: 마이너 버전 업그레이드가 일시중지되었습니다.UPGRADE_PAUSED: 모든 자동 업그레이드가 일시중지되었습니다.
다음은 GKE가 클러스터의 자동 업그레이드를 일시중지할 수 있는 잠재적 이유입니다.
MAINTENANCE_WINDOW: 유지보수 기간으로 인해 클러스터가 업그레이드되지 않습니다.MAINTENANCE_EXCLUSION_: 이 프리픽스가 있는 일시중지 이유는 유지보수 제외로 인해 클러스터가 업그레이드되지 않음을 나타냅니다. 서픽스는MAINTENANCE_EXCLUSION_NO_UPGRADES와 같은 유지보수 제외 범위를 나타냅니다.CLUSTER_DISRUPTION_BUDGET: 클러스터 생성 또는 업그레이드와 같은 특정 작업 후, 클러스터 및 애플리케이션의 안정성과 가용성을 보호하기 위해 클러스터에 대기 시간이 필요합니다.CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE: 클러스터가 마이너 버전 업그레이드의 클러스터 중단 예산을 초과합니다.SYSTEM_CONFIG: 기술 또는 비즈니스와 관련된 이유로 자동 업그레이드가 일시중지되었습니다. 이 상태에서는 필요한 경우가 아니면 수동 업그레이드를 실행하지 않는 것이 좋습니다.AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED: 지정되지 않은 이유입니다.
클러스터 업그레이드의 일반적인 시나리오에 관한 정보 찾기
클러스터 업그레이드를 관리할 때 발생할 수 있는 일반적인 시나리오에 관한 정보를 찾습니다.
클러스터의 다음 업그레이드 시기 확인하기
클러스터의 다음 업그레이드 시기를 알아보고 새 버전으로의 업그레이드를 계획하고 검증하려면 다음 리소스를 사용하세요.
- 출시 일정: 출시 채널의 예상 일정에서 클러스터의 마이너 버전 및 출시 채널에 해당하는 예상 자동 업그레이드 날짜를 찾습니다.
- 클러스터 수준의 업그레이드 관련 정보 가져오기: 클러스터의 자동 업그레이드 대상을 찾습니다.
- 클러스터 알림: GKE는 채널에서
새 버전을 사용할 수 있게 되면 알림을 전송합니다. 새 버전을 사용할 수 있게 되면(시기는 채널에 따라 다름) GKE는 해당 버전을 채널의 자동 업그레이드 대상으로 지정합니다. 이러한 알림을 보려면 Cloud Logging에서 클러스터 알림을 볼 때
UpgradeAvailableEvent를 필터링합니다. - 출시 노트: 출시 노트를 따라 GKE가 새 마이너 버전을 채널의 자동 업그레이드 대상으로 설정하는 시점을 알아봅니다.
클러스터의 다음 업그레이드를 차단하는 요소 찾기
업그레이드를 차단하는 요소를 알아보고 차단을 해제하려면 클러스터의 자동 업그레이드 상태를 확인하세요. 자동 업그레이드가 일시중지된 경우 이유를 확인하세요. 다음 방법 중 하나를 사용하세요.
- 프로젝트 수준의 업그레이드 관련 정보 가져오기(프리뷰): 업그레이드 탭을 클릭하면 업그레이드 상태 테이블이 표시됩니다. 테이블에서 클러스터를 찾아 클러스터의 자동 업그레이드 열을 확인합니다.
- 클러스터 수준의 업그레이드 관련 정보 가져오기: 클러스터의 자동 업그레이드 상태를 확인할 수 있습니다.
클러스터 업그레이드 완료 시점 확인하기
워크로드가 예상대로 작동하는지 확인하기 위해 클러스터의 컨트롤 플레인 및 노드 업그레이드가 완료되는 시점을 알아보려면 다음 리소스를 사용하세요.
- 클러스터 알림: GKE는 클러스터 업그레이드 작업을 완료하면
알림을 전송합니다. 이러한
알림을 보려면 Cloud Logging에서 클러스터
알림을 볼 때
UpgradeInfoEvent를 필터링합니다. - 업그레이드 대시보드(프리뷰):Google Cloud 콘솔의 업그레이드 상태 테이블로 이동합니다. 클러스터를 찾습니다. 상태 열에 업그레이드됨이라고 표시되면 최신 업데이트 열에서 업그레이드가 완료된 시점을 확인합니다.
- 클러스터 수준의 업그레이드 관련 정보 가져오기: gcloud CLI를 사용하여 최근 업그레이드를 포함한 클러스터의 업그레이드 기록을 확인합니다.
업그레이드에 걸리는 예상 시간 확인하기
업그레이드에 걸리는 예상 시간을 알아보려면 클러스터 수준의 업그레이드 정보를 가져와 이전 업그레이드의 기간을 확인합니다. 최근 예시는 업그레이드 기록을 참조하세요.
업그레이드 기간은 컨트롤 플레인 또는 노드 업그레이드 여부, 업그레이드 전략, 포드 중단 예산(PDB), 활성 유지보수 정책 및 기타 요인에 따라 달라집니다.
클러스터의 마이너 버전이 지원 종료 시점에 도달하는 시점 확인하기
GKE는 지원 종료일이 지난 마이너 버전을 계속 실행하는 클러스터를 자동으로 업그레이드합니다. 자세한 내용은 지원 종료 시 자동 업그레이드를 참조하세요.
클러스터의 마이너 버전이 지원 종료일에 도달하는 시점을 알아보려면(예: 유지보수 제외를 설정하거나 지원 중단된 API를 더 이상 사용할 수 없는 시점을 파악) 다음 리소스를 사용하세요.
- 출시 일정: 출시 채널의 예상 일정에서 클러스터의 마이너 버전 및 출시 채널에 해당하는 지원 종료일을 찾습니다. 확장 채널에 없는 클러스터의 경우 스탠더드 지원 종료 날짜를 참고하세요. 확장 채널에 있는 클러스터의 경우 연장 지원 종료 날짜를 참고하세요.
- 클러스터 알림: GKE는 클러스터에서 지원 종료 시점에 도달했거나 지원 종료가 임박한 마이너 버전을 실행하면 알림을 전송합니다. 이러한
알림을 보려면
UpgradeInfoEvent을(를) Cloud Logging에서 클러스터 알림을 볼 때 필터링합니다. - 인사이트 및 추천: 클러스터에서 스탠더드 지원 종료 후 마이너 버전을 실행하면 GKE에서 알림을 전송합니다. 자세한 내용은 스탠더드 지원 종료 후 마이너 버전을 실행하는 클러스터 식별을 참조하세요.
- 클러스터 수준의 업그레이드 관련 정보 가져오기: 클러스터의 마이너 버전 지원 종료 날짜를 확인합니다.
- 업그레이드 대시보드(프리뷰): 업그레이드 대시보드에는 특정 버전과 지원 종료일까지 남은 일수가 표시된 버전 지원 종료 섹션이 포함되어 있습니다.