GKE 버전 관리 및 지원


이 페이지에서는 Google Kubernetes Engine(GKE)에서의 버전 관리 및 버전 지원 정책을 설명합니다. GKE 출시 일정에서 현재 버전의 출시 및 지원 일정을 확인할 수 있습니다.

버전 지원

Kubernetes 오픈소스 소프트웨어(OSS) 커뮤니티는 현재 일 년에 세 번 새로운 기능과 개선사항이 포함된 부 버전을 출시합니다. 각 출시 주기는 약 15주입니다.

Kubernetes 1.19부터 OSS는 12개월 동안 각 부 버전을 지원합니다. 지원되는 부 버전에서 발견되는 주요 버그 및 보안 취약점은 임시 패치 버전의 출시로 수정되었습니다. Kubernetes 커뮤니티는 버전 지원 캘린더를 때때로 수정할 수 있습니다.

각 GKE 부 버전이 일반 채널에서 버전을 사용할 수 있게 되면 Google에서는 해당 버전에 대해 총 14개월 동안의 지원을 제공합니다. 노드 및 노드 풀 버전은 제어 영역보다 오래된 부 버전이 최대 2개일 수 있지만 Kubernetes OSS 버전 차이 정책으로 인해 제어 영역 버전보다 최신일 수 없습니다. 지원성과 안정성을 보장하려면 노드는 유효한 버전 차이에 관계없이 지원되는 버전을 사용해야 합니다.

12개월 후에는 지원 종료에 도달하기 전에 지원되는 부 버전이 2개월 유지보수 기간에 들어갑니다.

GKE 부 버전 수명 주기

부 버전 수명 주기의 1단계는 지원되는 GKE 버전의 출시로 시작됩니다. 지원되는 부 버전을 실행하는 클러스터는 신고된 버그 및 보안 문제를 해결하기 위한 정기적인 패치를 받습니다. 현재 Kubernetes OSS 커뮤니티 버전 지원 정책에 따라 GKE는 일반 채널에서 출시 후 12개월과 2개월 유지보수 기간을 비롯하여 14개월 동안 부 버전의 지원을 유지할 계획입니다. 유지보수 기간 동안은 유지보수 버전에 새 노드 풀을 만들 수는 없지만 유지보수 버전을 실행하는 기존 노드 풀은 계속 작동합니다.

유지보수 기간이 끝나면 부 버전이 지원 종료되고 공식적으로 지원되지 않고 사용할 수 없게 됩니다. 지원 종료된 GKE 부 버전은 더 이상 보안 패치 또는 버그 수정을 받지 않습니다. 지원 종료된 부 버전의 패치 버전은 지원되지 않으며 사용할 수 없습니다.

GKE 버전 1.19부터는 GKE가 오픈소스 버전 차이 정책에 따른 클러스터 상태 및 맞춤을 보장하기 위해 버전이 지원 종료 시점에 도달한 후 지원되지 않는 버전을 실행하는 노드를 업그레이드합니다. 지원되지 않는 버전을 실행하는 노드는 버전 지원 종료 시 즉시 업그레이드되지 않을 수 있으며 실제 타이밍은 Google의 재량에 따라 변경될 수 있습니다.

Google에서는 지원 종료된 버전의 패치 또는 업데이트를 보장하지 않습니다.

드문 경우지만 Kubernetes OSS 커뮤니티 정책 변경, 취약점 발견 또는 합리적으로 해결되지 않는 기술적 문제로 인해 GKE 버전의 유지보수 기간 또는 지원 종료를 조정할 수도 있습니다. 사용 가능한 최신 버전을 다운로드하려면 GKE 출시 노트를 참조하세요.

버전 관리 체계

GKE는 GKE 패치 버전을 Kubernetes 의미 체계 버전 관리 업계 표준(x.y.z-gke.N)에 추가합니다.

Kubernetes 주 버전(x)
일반적으로 이전 버전과 호환되지 않는 변경사항이 공개 API에 도입되면 주 버전의 숫자가 증가합니다. 주 버전은 Kubernetes 버전을 x.y에서 x+1.y로 증가시킵니다.
Kubernetes 부 버전(y)
Kubernetes는 일 년에 세 번 새로운 부 버전을 출시합니다. 각 출시 주기는 약 15주입니다. 지원 중단된 API는 새 부 버전(예: 1.22)을 통해 삭제될 수 있습니다. 부 버전은 Kubernetes 버전을 1.y에서 1.y+1로 증가시킵니다. 예를 들어 Kubernetes 1.19는 Kubernetes 1.18 이후의 부 출시 버전입니다.
Kubernetes 패치 출시(z)
GKE에 사용할 새로운 Kubernetes 패치 출시(예: 1.18.6)는 일반적으로 매주 제공됩니다. 패치 출시는 각 영역에 점진적으로 출시됩니다.
GKE 패치 출시 버전(-gke.N)
-gke.N 서픽스가 있는 패치 출시 버전(예: 1.18.6-gke.N)에는 오픈소스 업스트림 Kubernetes 소프트웨어와 함께 GKE의 보안 업데이트 또는 버그 수정이 포함됩니다. 이러한 업데이트 또는 수정은 Google Cloud와의 호환성 및 상호 운용성을 위해 필요합니다.

사용 가능한 버전과 기본 버전 확인

사용 가능한 버전에 대한 자세한 내용은 GKE 출시 노트를 참조하세요.

또한 Google Cloud 콘솔에서 또는 Google Cloud CLI를 사용하여 지정된 영역에서 사용할 수 있고 기본 버전인 Kubernetes 버전을 확인할 수 있습니다.

gcloud CLI를 사용하여 버전 확인

사용할 수 있는 버전과 기본 버전을 확인하려면 클러스터 유형에 대해 다음 gcloud 명령어 중 하나를 실행합니다. 각 탭에는 특정 출시 채널 또는 채널이 없는 정적의 버전을 확인하는 명령어가 제공됩니다.

신속

Rapid 출시 채널에서 기본 버전 및 사용 가능한 버전을 보려면 다음 명령어를 실행합니다.

기본 버전

gcloud container get-server-config --flatten="channels" --filter="channels.channel=RAPID" \
    --format="yaml(channels.channel,channels.defaultVersion)"

사용 가능한 버전

gcloud container get-server-config --flatten="channels" --filter="channels.channel=RAPID" \
    --format="yaml(channels.channel,channels.validVersions)"

일반

Regular 출시 채널에서 기본 버전 및 사용 가능한 버전을 보려면 다음 명령어를 실행합니다.

기본 버전

gcloud container get-server-config --flatten="channels" --filter="channels.channel=REGULAR" \
    --format="yaml(channels.channel,channels.defaultVersion)"

사용 가능한 버전

gcloud container get-server-config --flatten="channels" --filter="channels.channel=REGULAR" \
    --format="yaml(channels.channel,channels.validVersions)"

정식

Stable 출시 채널에서 기본 버전 및 사용 가능한 버전을 보려면 다음 명령어를 실행합니다.

기본 버전

gcloud container get-server-config --flatten="channels" --filter="channels.channel=STABLE" \
    --format="yaml(channels.channel,channels.defaultVersion)"

사용 가능한 버전

gcloud container get-server-config --flatten="channels" --filter="channels.channel=STABLE" \
    --format="yaml(channels.channel,channels.validVersions)"

채널 없음

채널 없음(정적)에서 기본 버전 및 사용 가능한 버전을 보려면 다음 명령어를 실행합니다.

기본 버전

gcloud container get-server-config --format="yaml(defaultClusterVersion)"

사용 가능한 제어 영역 버전

gcloud container get-server-config --format="yaml(validMasterVersions)"

사용 가능한 노드 버전

gcloud container get-server-config --format="yaml(validNodeVersions)"

Google Cloud 콘솔을 사용하여 버전 확인

사용할 수 있는 버전과 기본 버전을 확인하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 만들기를 클릭합니다.

  3. 표준 클러스터 모드를 선택한 다음 구성을 클릭합니다.

  4. 위치 유형 섹션에서 클러스터에 대해 위치 유형 및 원하는 위치를 선택합니다.

  5. 제어 영역 버전 섹션에서 출시 채널을 선택합니다. 현재 이 채널에서 사용 가능한 모든 버전이 나열됩니다. 기본 버전이 자동으로 선택됩니다.

클러스터 버전 지정

이 섹션은 표준 모드에서 생성된 클러스터에만 적용됩니다.

gcloud CLI를 사용하여 클러스터를 만들거나 업그레이드할 때 --cluster-version 플래그를 사용하여 클러스터 버전을 지정할 수 있습니다. 1.9.7-gke.N과 같은 특정 버전을 사용할 수 있으며 버전 별칭도 사용할 수도 있습니다.

  • latest: 클러스터의 영역 또는 리전의 GKE에서 현재 사용 가능한 지원되는 가장 높은 Kubernetes 버전을 지정합니다.
  • 1.X: 1.X 부 버전에서 가장 높은 유효한 패치 +gke.N 패치 출시 버전을 지정합니다.
  • 1.X.Y: 1.X.Y 패치 출시에서 가장 높은 유효한 gke.N 패치를 지정합니다.
  • -: 클러스터 제어 영역의 경우 제어 영역의 기본 Kubernetes 버전을 지정합니다. 노드 업그레이드의 경우 클러스터 제어 영역이 현재 실행 중인 버전을 지정합니다.

버전을 latest로 지정하여 클러스터를 만들거나 업그레이드해도 자동 업그레이드는 제공되지 않습니다. 노드 자동 업그레이드를 사용 설정하여 클러스터의 노드가 안정적인 최신 버전으로 최신 상태를 유지하도록 합니다.

노드 버전 지정

이 섹션은 표준 모드에서 생성된 클러스터에만 적용됩니다. Autopilot 클러스터에서는 노드가 자동으로 업그레이드됩니다.

노드 풀을 만들거나 업그레이드할 때 해당 버전을 지정할 수 있습니다. 기본적으로 노드는 제어 영역과 동일한 버전의 GKE를 실행합니다. 노드는 제어 영역보다 부 버전을 기준으로 버전 3개 이상 뒤쳐지면 안 됩니다.

드물지만 클러스터 버전을 더 이상 사용할 수 없더라도 노드 버전은 계속 사용할 수 있습니다.

버전 지원 FAQ

각 부 버전의 지원 기간은 언제 시작되나요?

Kubernetes 부 버전은 일반 출시 채널에서 새 클러스터 생성이 처음 제공될 때 지원됩니다.

GKE Kubernetes 부 버전은 얼마 동안 지원되나요?

GKE는 사용 가능한 각 Kubernetes 부 버전에 대해 14개월 동안의 지원을 제공합니다. 버전에는 지원 기간 동안 버그 및 보안 문제에 관한 패치가 제공됩니다.

GKE 부 버전의 유지보수 기간과 지원 종료 기간의 차이는 무엇인가요?

유지보수 기간은 버전이 곧 지원 종료됨을 나타냅니다. 지원 종료 기간 중 GKE 부 버전은 보안 패치, 버그 수정 또는 새로운 기능의 지원을 받지 않습니다.

GKE의 Kubernetes 버전 지원은 언제 종료되나요?

Kubernetes 부 버전은 14개월 동안의 지원 후 지원 종료되면 GKE에서 지원되지 않습니다.

유지보수 시작 날짜가 되면 어떻게 되나요?

GKE는 출시 노트, 프로젝트 담당자에게 보내는 이메일, GKE 알림과 같은 기존 터치포인트를 통해 예정된 유지보수 및 지원 종료 버전을 고객에게 알립니다(해당하는 경우). 유지보수 버전을 실행하는 기존 노드 풀은 계속 작동하며 유지보수 버전의 새 노드 풀 생성은 사용 중지됩니다.

지원 종료 날짜가 되면 어떻게 되나요?

서비스 종료 버전이 완료되기 전에 지원 종료 버전을 실행하는 고객에게는 프로젝트 담당자에게 이메일 알림이 전송됩니다. 지원 종료 버전에는 새로운 보안 패치 또는 버그 수정이 제공되지 않으므로 GKE는 또한 (자동 업그레이드 사용 여부와 관계없이) 보안 및 호환성 유지를 위해 지원 종료 버전을 실행하는 노드를 단계적으로 자동 업그레이드합니다. 지원 종료 버전을 실행하는 클러스터나 노드에 문제가 있는 경우 Cloud Customer Care에 문의하기 전에 먼저 클러스터와 노드를 지원되는 버전으로 업그레이드해야 합니다.

클러스터가 정확히 언제 자동으로 업그레이드되나요?

클러스터 제어 영역은 새 클러스터 만들기에 대해 제어 영역 버전이 더 이상 제공되지 않을 때 지원되는 버전으로 자동으로 업그레이드됩니다.

지원되지 않는 버전을 실행하는 노드는 지원 종료 날짜로부터 1개월 이내에 지원되는 버전으로 자동 업그레이드되도록 예약됩니다.

클러스터 업그레이드 중에 GKE 버전을 건너뛸 수 있나요?

GKE는 클러스터 제어 영역의 부 버전을 건너뛸 수 없지만 패치 버전은 건너뛸 수 있습니다. 워커 노드는 부 버전을 건너뛸 수 있습니다. 예를 들어 노드 풀의 버전 1.23에서 1.24로 건너뛰고 1.25로 업그레이드할 수 있습니다.

여러 부 버전으로 클러스터를 업그레이드하려면 제어 영역을 한 번에 하나씩 부 버전으로 업그레이드하고 워커 노드를 매번 동일한 버전으로 업그레이드합니다. 예를 들어 제어 영역을 버전 1.23에서 1.25로 업그레이드하려면 버전 1.23에서 1.24로 먼저 업그레이드한 후 워커 노드를 제어 영역 버전에 맞게 업그레이드하고, 이러한 프로세스를 반복하여 버전 1.24에서 1.25로 업그레이드합니다.

버전을 일치하도록 워커 노드를 업그레이드하면 버전 차이를 피할 수 있습니다. 가능하면 버전을 건너뛰지 않는 것이 좋습니다. 워커 노드 버전을 건너뛰면 일반적으로 더 큰 테스트 범위를 의미하므로 관리는 가능하지만 더 고려해야 합니다.

또는 원하는 버전으로 새 클러스터를 만들고 워크로드를 다시 배포할 수 있습니다.

클러스터를 Kubernetes 버전에 무기한으로 보유할 수 있나요?

아니요. 각 GKE 버전은 14개월 동안 지원되며, 지원 종료된 GKE 버전을 사용하는 클러스터 운영에는 보안 패치나 버그 수정이 지원 종료 버전에 제공되지 않으므로 상당한 보안, 안정성, 호환성 위험이 따릅니다.

지원을 받으려면 Kubernetes 버전을 얼마나 자주 업그레이드해야 하나요?

출시 채널을 선택하고 노드 자동 업그레이드를 사용 설정하여 GKE 버전 업그레이드와 관련된 운영 부담을 줄이는 것이 좋습니다. 그러나 수동 업그레이드 시 6개월 간격 이내로 업그레이드하여 새 기능에 액세스하고 지원되는 버전으로 유지하는 것이 좋습니다.

GKE 제어 영역의 출시 정책은 무엇인가요?

클러스터 제어 영역은 클러스터가 출시 채널에 등록되었는지 또는 노드 자동 업그레이드가 사용 중지되었는지 여부와 관계없이 항상 정기적으로 업그레이드됩니다. 자동 업그레이드에서 자세히 알아보세요.