쿠버네티스

컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템
(Kubernetes에서 넘어옴)

쿠버네티스(Kubernetes, 쿠베르네테스, "K8s"[3])는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈 소스 기반이다.[4] 원래 구글에 의해 설계되었고 현재 리눅스 재단에 의해 관리되고 있다. 목적은 여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위한 플랫폼을 제공하기 위함이다.[3] 도커를 포함하여 일련의 컨테이너 도구들과 함께 동작한다.

쿠버네티스
원저자구글
개발자2014년 6월 7일(9년 전)(2014-06-07)[1]
안정화 버전
1.30.0[2]위키데이터에서 편집하기 / 2024년 4월 17일(1일 전)(2024년 4월 17일)
저장소
프로그래밍 언어Go
종류클러스터 관리 소프트웨어
라이선스아파치 라이선스 2.0
웹사이트kubernetes.io

역사 편집

 
구글 클라우드 서밋의 구글 컨테이너 엔진 토크.

그리스어로 키잡이를 뜻하는 쿠버네티스(Kubernetes)는 조 베다(Joe Beda), Brendan Burns, Craig McLuckie에 의해 설립되었으며[5] Brian Grant, Tim Hockin 등 다른 구글 엔지니어들에 의해 빠르게 동참되었고 2014년 중순에 구글에 의해 처음 발표되었다.[6] 개발과 설계는 구글의 보그(Borg) 시스템[7][8], 그리고 이전에 보그에서 일한 프로젝트의 상위 기여자 중 다수에 의해 상당한 영향을 받았다. 구글 내 쿠버네티스의 원래 코드명은 프로젝트 세븐이었으며, 이는 더 친숙한 보그 스타 트렉 캐릭터를 참조한 것이다.[9]

쿠버네티스 v1.0은 2015년 7월 21일에 출시되었다.[10] 쿠버네티스 v1.0 출시와 함께 구글은 리눅스 재단과 파트너십을 맺고 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)을 설립하였고[11] 쿠버네티스를 시드 테크놀로지(seed technology)로 제공하였다. 2016년 2월,[12] 쿠버네티스용 Helm[13][14] 패키지 매니저가 출시되었다. 2018년 3월 6일, 쿠버네티스 프로젝트는 깃허브에서 커밋 순위 9위를 달성하였으며 개발자 및 이슈 순위에서 리눅스 커널에 이어 2위를 차지하였다.[15]

v1.18까지 쿠버네티스는 N-2 지원 정책(3개의 최근 마이너 버전이 보안 및 버그 수정을 수신함을 의미)을 준수했다.[16]

v1.19 이상부터 쿠버네티스는 N-3 지원 정책을 준수한다.

출시 역사
버전 출시일 지원 종료일[17] 비고
오래된 버전, 지원 중단: 1.0 2015년 7월 10일 첫 출시
오래된 버전, 지원 중단: 1.1 2015년 11월 9일 https://kubernetes.io/blog/2015/11/kubernetes-1-1-performance-upgrades-improved-tooling-and-a-growing-community
오래된 버전, 지원 중단: 1.2 2016년 3월 16일 2016년 10월 23일 https://kubernetes.io/blog/2016/03/kubernetes-1-2-even-more-performance-upgrades-plus-easier-application-deployment-and-management
오래된 버전, 지원 중단: 1.3 2016년 7월 1일 2016년 11월 1일 https://kubernetes.io/blog/2016/07/kubernetes-1-3-bridging-cloud-native-and-enterprise-workloads
오래된 버전, 지원 중단: 1.4 2016년 9월 26일 2017년 4월 21일 https://kubernetes.io/blog/2016/09/kubernetes-1-4-making-it-easy-to-run-on-kuberentes-anywhere
오래된 버전, 지원 중단: 1.5 2016년 12월 12일 2017년 10월 1일 https://kubernetes.io/blog/2016/12/kubernetes-1-5-supporting-production-workloads
오래된 버전, 지원 중단: 1.6 2017년 3월 28일 2017년 11월 23일 https://kubernetes.io/blog/2017/03/kubernetes-1-6-multi-user-multi-workloads-at-scale
오래된 버전, 지원 중단: 1.7 2017년 6월 30일 2018년 4월 4일 https://kubernetes.io/blog/2017/06/kubernetes-1-7-security-hardening-stateful-application-extensibility-updates
오래된 버전, 지원 중단: 1.8 2017년 8월 28일 2018년 7월 12일 https://kubernetes.io/blog/2017/09/kubernetes-18-security-workloads-and
오래된 버전, 지원 중단: 1.9 2017년 12월 15일 2018년 9월 29일 https://kubernetes.io/blog/2017/12/kubernetes-19-workloads-expanded-ecosystem
오래된 버전, 지원 중단: 1.10 2018년 3월 28일 2019년 2월 13일 https://kubernetes.io/blog/2018/03/26/kubernetes-1.10-stabilizing-storage-security-networking
오래된 버전, 지원 중단: 1.11 2018년 7월 3일 2019년 5월 1일 https://kubernetes.io/blog/2018/06/27/kubernetes-1.11-release-announcement
오래된 버전, 지원 중단: 1.12 2018년 9월 27일 2019년 7월 8일 https://kubernetes.io/blog/2018/09/27/kubernetes-1.12-kubelet-tls-bootstrap-and-azure-virtual-machine-scale-sets-vmss-move-to-general-availability
오래된 버전, 지원 중단: 1.13 2018년 12월 3일 2019년 10월 15일 https://kubernetes.io/blog/2018/12/03/kubernetes-1-13-release-announcement
오래된 버전, 지원 중단: 1.14 2019년 3월 25일 2019년 12월 11일 https://kubernetes.io/blog/2019/03/25/kubernetes-1-14-release-announcement
오래된 버전, 지원 중단: 1.15 2019년 6월 20일 2020년 5월 6일 https://kubernetes.io/blog/2019/06/19/kubernetes-1-15-release-announcement
오래된 버전, 지원 중단: 1.16 2019년 10월 22일 2020년 9월 2일 https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement
오래된 버전, 지원 중단: 1.17 2019년 12월 9일 2021년 1월 13일 https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-release-announcement
오래된 버전, 지원 중단: 1.18 2020년 3월 25일 2021년 6월 18일 https://kubernetes.io/blog/2020/03/25/kubernetes-1-18-release-announcement
오래된 버전, 지원 중단: 1.19 2020년 8월 26일[18] 2021년 10월 28일 쿠버네티스 버전 1.19부터 지원 기간이 전체 지원 1년과 유지 관리 모드 기간 2개월로 연장. https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive
오래된 버전, 지원 중단: 1.20 2020년 12월 8일 2022년 2월 28일 https://kubernetes.io/blog/2020/12/08/kubernetes-1-20-release-announcement/
오래된 버전, 지원 중단: 1.21 2021년 4월 8일 2022년 6월 28일 https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/
오래된 버전, 지원 중단: 1.22 2021년 8월 4일 2022년 10월 28일 https://kubernetes.io/blog/2021/08/04/kubernetes-1-22-release-announcement/
오래된 버전, 지원 중단: 1.23 2021년 12월 7일 2023년 2월 28일 https://kubernetes.io/blog/2021/12/07/kubernetes-1-23-release-announcement/
오래된 버전, 지원 중: 1.24 2022년 5월 3일 2023년 7월 28일 https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/
오래된 버전, 지원 중: 1.25 2022년 8월 23일 2023년 10월 27일 https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/
오래된 버전, 지원 중: 1.26 2022년 12월 9일 2024년 2월 24일 https://kubernetes.io/blog/2022/12/09/kubernetes-v1-26-release/
현재 안정화 버전: 1.27 2023년 4월 11일 https://kubernetes.io/blog/2023/04/11/kubernetes-v1-27-release/
범례:
오래된 버전
오래된 버전, 지원 중
최신 버전
최신 미리보기 버전
배포 예정

지원 창구 편집

아래의 차트는 각 릴리스가 지원되는 기간을 시각화한 것이다.[17]

개념 편집

 
쿠버네티스 아키텍처 다이어그램

쿠버네티스는 CPU, 메모리[19], 사용자 지정 메트릭스에 기반하여 애플리케이션을 디플로이하고 유지보수하고 스케일인/스케일아웃을 하는 총체적인 매커니즘을 제공하는, 프리미티브(primitive)로 불리는 빌딩 블록들의 집합을 정의한다.[20] 쿠버네티스는 느슨하게 결합되어 있으며 각기 다른 부하를 충족하기 위해 확장이 가능하다. 이 확장성은 크게는 쿠버네티스 API에 의해 제공되며 내부 구성 요소뿐 아니라 쿠버네티스에서 실행되는 확장 기능과 컨테이너에서도 사용된다.[21] 플랫폼은 오브젝트라는 이름의 리소스를 정의함으로써 연산 및 스토리지 자원을 통제하며 이후 이것들을 관리한다.

쿠버네티스는 프라이머리/레플리카 구조를 따른다. 쿠버네티스의 구성 요소들은 개개의 노드를 관리하는 구성 요소들과 컨트롤 플레인(control plane)의 일부인 구성 요소들로 나눌 수 있다.[21][22]

같이 보기 편집

각주 편집

  1. “First GitHub commit for Kubernetes”. 《github.com》. 2014년 6월 7일. 2017년 3월 1일에 원본 문서에서 보존된 문서. 
  2. “Release 1.30.0”. 2024년 4월 17일. 2024년 4월 18일에 확인함. 
  3. “What is Kubernetes?”. 《Kubernetes》. 2017년 3월 31일에 확인함. 
  4. “kubernetes/kubernetes”. 《GitHub》 (영어). 2017년 4월 21일에 원본 문서에서 보존된 문서. 2017년 3월 28일에 확인함. 
  5. “Google Made Its Secret Blueprint Public to Boost Its Cloud” (미국 영어). 2016년 7월 1일에 원본 문서에서 보존된 문서. 2016년 6월 27일에 확인함. 
  6. “Google Open Sources Its Secret Weapon in Cloud Computing”. 《Wired》. 2015년 9월 10일에 원본 문서에서 보존된 문서. 2015년 9월 24일에 확인함. 
  7. Abhishek Verma; Luis Pedrosa; Madhukar R. Korupolu; David Oppenheimer; Eric Tune; John Wilkes (2015년 4월). “Large-scale cluster management at Google with Borg”. 《Proceedings of the European Conference on Computer Systems (EuroSys)》. 2017년 7월 27일에 원본 문서에서 보존된 문서. 
  8. “Borg, Omega, and Kubernetes - ACM Queue”. 《queue.acm.org》. 2016년 7월 9일에 원본 문서에서 보존된 문서. 2016년 6월 27일에 확인함. 
  9. “Early Stage Startup Heptio Aims to Make Kubernetes Friendly”. 2016년 12월 6일에 확인함. [깨진 링크(과거 내용 찾기)]
  10. “As Kubernetes Hits 1.0, Google Donates Technology To Newly Formed Cloud Native Computing Foundation”. 《TechCrunch》. 23 September 2015에 원본 문서에서 보존된 문서. 24 September 2015에 확인함. 
  11. “Cloud Native Computing Foundation”. 2017년 7월 3일에 원본 문서에서 보존된 문서. 
  12. “Release v1.0: Merge pull request #277 from jackgr/master · helm/helm”. 《GitHub》 (영어). 2021년 5월 16일에 확인함. 
  13. “Helm (package manager) - wikieduonline”. 《www.wikieduonline.com》. 2021년 5월 16일에 확인함. 
  14. “Helm”. 《helm.sh》 (미국 영어). 2021년 5월 16일에 확인함. 
  15. Conway, Sarah (2018년 3월 6일). “Kubernetes Is First CNCF Project To Graduate”. 《Cloud Native Computing Foundation》 (영어). 2018년 10월 29일에 원본 문서 (html)에서 보존된 문서. 2018년 12월 3일에 확인함. Compared to the 1.5 million projects on GitHub, Kubernetes is No. 9 for commits and No. 2 for authors/issues, second only to Linux. 
  16. “Kubernetes version and version skew support policy”. 《Kubernetes》. 2020년 3월 3일에 확인함. 
  17. “Kubernetes Patch Releases”. 2021년 1월 5일. 
  18. “Kubernetes 1.19 Release Announcement”. 《Kubernetes》. 2020년 8월 26일. 2020년 8월 28일에 확인함. 
  19. Sharma, Priyanka (2017년 4월 13일). “Autoscaling based on CPU/Memory in Kubernetes—Part II”. 《Powerupcloud Tech Blog》. Medium. 2019년 10월 17일에 원본 문서에서 보존된 문서. 2018년 12월 27일에 확인함. 
  20. “Configure Kubernetes Autoscaling With Custom Metrics”. 《Bitnami》. BitRock. 2018년 11월 15일. 2019년 3월 27일에 원본 문서에서 보존된 문서. 2018년 12월 27일에 확인함. 
  21. “An Introduction to Kubernetes”. 《DigitalOcean》. 2015년 10월 1일에 원본 문서에서 보존된 문서. 2015년 9월 24일에 확인함. 
  22. “Kubernetes Infrastructure”. 《OpenShift Community Documentation》. OpenShift. 2015년 7월 6일에 원본 문서에서 보존된 문서. 2015년 9월 24일에 확인함. 

외부 링크 편집