쿠버네티스(Kubernetes, 쿠베르네테스, "K8s")
쿠버네티스(Kubernetes, 쿠베르네테스, "K8s")는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈 소스 기반이다.
원래 구글에 의해 설계되었고 현재 리눅스 재단에 의해 관리되고 있다.
목적은 여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위한 플랫폼을 제공하기 위함이다. 도커를 포함하여 일련의 컨테이너 도구들과 함께 동작한다.
그리스어로 키잡이를 뜻하는 쿠버네티스(Kubernetes)는 조 베다(Joe Beda), Brendan Burns, Craig McLuckie에 의해 설립되었으며[6] Brian Grant, Tim Hockin 등 다른 구글 엔지니어들에 의해 빠르게 동참되었고 2014년 중순에 구글에 의해 처음 발표되었다.[7] 개발과 설계는 구글의 보그(Borg) 시스템[8][9], 그리고 이전에 보그에서 일한 프로젝트의 상위 기여자 중 다수에 의해 상당한 영향을 받았다. 구글 내 쿠버네티스의 원래 코드명은 프로젝트 세븐이었으며, 이는 더 친숙한 보그 스타 트렉 캐릭터를 참조한 것이다.[10]
쿠버네티스 v1.0은 2015년 7월 21일에 출시되었다.
쿠버네티스 v1.0 출시와 함께 구글은 리눅스 재단과 파트너십을 맺고 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)을 설립하였고 쿠버네티스를 시드 테크놀로지(seed technology)로 제공하였다.
2016년 2월, 쿠버네티스용 Helm[14][15] 패키지 매니저가 출시되었다. 2018년 3월 6일, 쿠버네티스 프로젝트는 깃허브에서 커밋 순위 9위를 달성하였으며 개발자 및 이슈 순위에서 리눅스 커널에 이어 2위를 차지하였다.
v1.18까지 쿠버네티스는 N-2 지원 정책(3개의 최근 마이너 버전이 보안 및 버그 수정을 수신함을 의미)을 준수했다. v1.19 이상부터 쿠버네티스는 N-3 지원 정책을 준수한다.
쿠버네티스는 CPU, 메모리, 사용자 지정 메트릭스에 기반하여 애플리케이션을 디플로이하고 유지보수하고 스케일인/스케일아웃을 하는 총체적인 매커니즘을 제공하는, 프리미티브(primitive)로 불리는 빌딩 블록들의 집합을 정의한다. 쿠버네티스는 느슨하게 결합되어 있으며 각기 다른 부하를 충족하기 위해 확장이 가능하다. 이 확장성은 크게는 쿠버네티스 API에 의해 제공되며 내부 구성 요소뿐 아니라 쿠버네티스에서 실행되는 확장 기능과 컨테이너에서도 사용된다. 플랫폼은 오브젝트라는 이름의 리소스를 정의함으로써 연산 및 스토리지 자원을 통제하며 이후 이것들을 관리한다.
쿠버네티스는 프라이머리/레플리카 구조를 따른다. 쿠버네티스의 구성 요소들은 개개의 노드를 관리하는 구성 요소들과 컨트롤 플레인(control plane)의 일부인 구성 요소들로 나눌 수 있다.