이번 글에서는 Kubernetes의 릴리스와 버전에 대해 다뤄보겠습니다.
Kubernetes 클러스터를 설치할 때, 특정 버전의 Kubernetes를 설치하게 됩니다. 예를 들어, kubectl get nodes 명령어를 실행하면 현재 설치된 Kubernetes 버전을 확인할 수 있습니다:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
node-1 Ready <none> 1d v1.11.3
위의 예시에서 볼 수 있듯이, 현재 사용 중인 버전은 v1.11.3입니다. 이번 글에서는 Kubernetes 프로젝트가 소프트웨어 릴리스를 어떻게 관리하는지 자세히 살펴보겠습니다.
Kubernetes 릴리스 버전은 세 가지 부분으로 구성됩니다:
부 버전은 몇 달마다 새로운 기능과 개선 사항을 포함하여 릴리스되며, 패치 버전은 중요 버그 수정을 포함하여 더 자주 릴리스됩니다. Kubernetes는 다른 여럿 인기 애플리케이션과 마찬가지로 표준 소프트웨어 릴리스 버전 관리 절차를 따릅니다. 몇 달마다 새로운 기능과 개선 사항을 포함한 부 릴리스가 나옵니다.
Kubernetes의 첫 번째 주 버전 1.0은 2015년 7월에 릴리스되었습니다.
모든 버그 수정과 개선 사항은 알파 릴리스에 먼저 포함됩니다. 이 릴리스는 'alpha'로 태그되며, 기능이 기본적으로 비활성화되어 있고 버그가 있을 수 있습니다. 알파 릴리스에서 충분히 테스트된 후에는 베타 릴리스로 이동합니다. 베타 릴리스에서는 새로운 기능이 기본적으로 활성화됩니다. 마지막으로 메인 안정 릴리스로 이동하여, 최종 사용자에게 배포됩니다.
Kubernetes의 모든 릴리스는 Kubernetes GitHub 저장소에서 확인할 수 있습니다. 여기에서 kubernetes.tar.gz 파일을 다운로드하고 추출하면 모든 Kubernetes 구성 요소의 실행 파일을 찾을 수 있습니다. 추출된 패키지에는 동일한 버전의 모든 ControlPlane 구성 요소가 포함되어 있습니다.
하지만 ControlPlane 내의 다른 구성 요소들은 동일한 버전 번호를 가지고 있지 않음을 기억해야 합니다. 예를 들어, ETCD 클러스터와 CoreDNS 서버는 별도의 프로젝트이기 때문에 자체 버전을 가지고 있습니다. 각 릴리스의 릴리스 노트는 ETCD 및 CoreDNS 등 외부 종속 애플리케이션의 지원 버전에 대한 정보를 제공합니다.
이번 글에서는 Kubernetes 릴리스와 버전에 대해 간략히 살펴보았습니다. Kubernetes 릴리스의 주요 구성 요소와 버전 관리 방법을 이해하는 것은 클러스터 관리를 위해 매우 중요합니다.