GKE 버전 관리 및 지원

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

버전 지원

Kubernetes 오픈소스 소프트웨어(OSS) 커뮤니티는 현재 약 3개월마다 새로운 기능과 개선사항이 포함된 부 버전을 출시합니다. Kubernetes 1.19부터 OSS는 12개월 동안 각 부 버전을 지원합니다. 지원되는 부 버전에서 발견되는 주요 버그 및 보안 취약점은 임시 패치 버전의 출시로 수정되었습니다. Kubernetes 커뮤니티는 버전 지원 캘린더를 수시로 수정할 수 있습니다.

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

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

GKE 부 버전 수명 주기

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

12개월의 출시 기간이 끝난 뒤 GKE는 2개월의 유지보수 기간을 제공합니다. 유지보수 기간 2개월 동안 유지보수 버전에 새 클러스터를 만들 수는 없지만 유지보수 버전을 실행하는 기존 클러스터는 계속 작동합니다.

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

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

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

버전 관리 체계

GKE는 GKE 의미 체계 버전 관리 업계 표준(xyz-gke.n)에 GKE 패치 버전을 추가합니다.

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

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

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

또한 Google Cloud Console 또는 gcloud 명령줄 도구를 사용하여 지정된 영역에서 사용 가능하며 기본 버전인 Kubernetes 버전을 확인할 수 있습니다.

gcloud 도구를 사용하여 버전 확인

사용할 수 있는 버전과 기본 버전을 확인하려면 클러스터 유형에 대해 다음 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 Console을 사용하여 버전 확인

사용 가능한 버전과 기본 버전을 확인하려면 다음 단계를 수행합니다.

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

    Google Kubernetes Engine으로 이동

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

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

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

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

클러스터 버전 지정

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

gcloud 도구를 사용하여 클러스터를 만들거나 업그레이드할 때 --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

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

GKE는 사용 가능한 각 Kubernetes 부 버전에 대해 14개월 동안의 지원을 제공합니다.

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

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

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

유지보수 기간은 버전이 곧 지원 종료됨을 나타내며 이 기간에는 중요한 보안 패치와 버그 수정만 받게 될 수 있습니다. 지원 종료 기간 중 GKE 부 버전은 보안 패치, 버그 수정 또는 새로운 기능의 지원을 받지 않습니다.

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

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

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

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

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

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

지원 종료된 후 클러스터는 언제 자동으로 업그레이드되나요?

지원 종료 날짜로부터 1개월 내에 클러스터가 지원되는 버전으로 자동 업그레이드될 예정입니다.

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

Kubernetes OSS를 사용하면 워커 노드의 버전을 건너뛸 수 있습니다. 예를 들어 노드 풀의 버전 1.19.x에서 1.20.x를 건너뛰고 1.21.x로 업그레이드할 수 있습니다. 그러나 제어 영역에서 버전 건너뛰기를 지원하지 않습니다. 따라서 새로운 각 부 버전에는 제어 영역 업그레이드가 필요합니다.

예를 들어 제어 영역을 버전 1.19.x에서 1.21.x로 업그레이드하려면 먼저 제어 영역을 버전 1.19.x에서 1.20.x로 업그레이드한 다음 1.20.x에서 1.21.x로 업그레이드해야 합니다.

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

제어 영역의 버전과 일치하도록 노드를 지속적으로 업그레이드하고 가능하면 버전 차이와 버전 건너뛰기를 피하는 것이 좋습니다. 버전을 건너뛰면 일반적으로 더 큰 테스트 범위를 암시하므로 관리는 가능하지만 더 고려해야 합니다.

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

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

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

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

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

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