버전 관리란?
소프트웨어 릴리스에는 개발 팀이 업데이트 및 수정 사항을 적용해야 하는 오류, 버그 또는 보안 결함이 자주 발생합니다. 소프트웨어가 발전함에 따라 새로운 기능이 추가됩니다. 이러한 업데이트 및 수정 사항은 소프트웨어의 새 버전으로 릴리스됩니다. 버전 관리는 소프트웨어 버전 릴리스를 추적하고 관리하는 제어 프로세스입니다. 소프트웨어 버전은 일반적으로 일정 기간 동안 지원을 유지하므로 사용자는 소프트웨어를 최신 버전으로 업그레이드할 수 있습니다.
의미 체계 버전 관리란 무엇입니까?
유의적 버전은 다음과 같은 버전 구성 요소로 구성된 버전 관리 체계입니다.
- 주 버전은 소프트웨어가 버전 1.0.0에서 2.0.0으로 발전할 때 릴리스됩니다. 이러한 버전에는 일반적으로 이전 버전과 호환되지 않는 호환성이 손상되는 변경이 포함됩니다.
- 부 버전은 소프트웨어가 1.0.0에서 1.1.0으로 발전할 때 릴리스됩니다. 이러한 버전에는 일반적으로 새로운 기능이 포함됩니다.
- 패치 버전은 소프트웨어가 버전 1.0.0에서 1.0.1로 발전할 때 릴리스됩니다. 이러한 버전에는 일반적으로 버그 수정 및 보안 업데이트가 포함됩니다.
Kubernetes 버전 관리
Kubernetes는 유의적 버전 체계를 사용합니다. 새로운 Kubernetes 버전 릴리스는 클러스터 내의 Kubernetes 런타임 구성 요소에만 적용됩니다. Kubernetes 런타임에는 다음 구성 요소가 포함됩니다.
- kube-apiserver
- kubelet
- kube-controller-manager
- kube-scheduler
- kube-proxy
Kubernetes 런타임 구성 요소에는 Kubernetes 클러스터를 실행하는 노드에 대한 운영 체제 업데이트 또는 이미지 업그레이드와 같은 노드 업그레이드가 포함되지 않습니다. 이는 Kubernetes 클러스터 구성 요소와 클러스터를 지원하는 기본 컴퓨팅 노드에 별도의 업그레이드와 패치를 적용해야 함을 의미합니다.