[CKS] 21. Kubernetes Software Versions
쿠버네티스 버전 관리(Major.Minor.Patch)로 새 기능과 버그 수정을 관리하며, 알파/베타/안정 릴리즈로 안정적인 운영을 지원합니다.
개요
kubernetes 버전 요소에 대한 설명과 안정, 베타, 알파 각각 버전의 차이점을 확인했습니다.
kubernetes version 확인
노드를 확인해보면 kuberenetes 버전을 확인할 수 있습니다.
kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 1d v1.11.3
node-1 Ready <none> 1d v1.11.3
node-2 Ready <none> 1d v1.11.3
kubernetes 버전 관리
# Major(1)
# Minor(32)
# Patch(7)
v1.32.7
- Major
- 주요 릴리즈 버전으로 기존 버전과 호환되지 않는 큰 변경이 있을 때 올라가는 번호입니다.
- Minor
- 새로운 기능(Features)과 개선 사항이 추가되는 버전으로 쿠버네티스는 약 3~4개월 주기로 새로운 마이너 버전을 출시하며, 이때 새로운 기능들이 대거 소개됩니다.
- API 변경이나 중요 기능 추가가 이뤄지므로 업그레이드 시 주의가 필요합니다.
- Patch
- 버그 수정 및 보안 패치가 이뤄지는 버전으로 새로운 기능 추가 없이 기존 버전의 문제점을 해결하는 데 중점을 두고있습니다.
- 일반적으로 같은 마이너 버전 내에서는 안전하게 업데이트할 수 있습니다.
알파, 베타 및 스테이블 릴리즈
- 알파 릴리스
- 기본적으로 비활성화되어있으며 새로운 기능들을 확인할 수 있습니다.
- 베타 릴리스:
- 기능이 안정화되면 베타 단계에 진입합니다.
- 베타 단계에서는 기본적으로 활성화되며 철저한 테스트를 거칩니다.
- 안정적인 릴리스:
- 프로덕션 환경에서 사용할 수 있도록 지원합니다.
참고사항
기본 kubernetes 패키지에는 모든 Controlplane 구성 요소를 지원합니다.
하지만 ETCD Cluster & CoreDNS 서버 등은 별도의 프로젝트로 독립되어있으므로, 독립적인 버전 관리 방식을 사용합니다. 자세한 종속성 정보는 각 구성요소를 확인하는 것이 좋습니다.
Reference
- https://github.com/kubernetes/kubernetes/releases
- https://github.com/kubernetes/design-proposals-archive/blob/main/release/versioning.md
- https://github.com/kubernetes/design-proposals-archive/blob/main/api-machinery/api-group.md
- https://blog.risingstack.com/the-history-of-kubernetes/
- https://kubernetes.io/docs/setup/version-skew-policy