Kubernetes

쿠버네티스란 도커와 같은 컨테이너를 오케스트레이션 하는 시스템으로 배의 조타수란 그리스 단어에서 유래했다
2015년 구글이 리눅스 재단과 협업해서 클라우드 네이티브 컴퓨팅 재단을 만들고 쿠버네티스를 기부했다.
쿠버네티스의 탄생 배경을 말하면서 먼저 컨테이너에 대한 설명이 필요하다.

리눅스는 원래 프로세스 별로 자원을 격리해서 사용하는 cgroup과 특정 디렉터리로 권한을 제한하는 chroot 등으로 격리 환경을 구성할 수 있었다.
여기에 디스크의 파일 변경 사항을 레이어 형태로 저장하는 파일 시스템을 합해 컨테이너라는 개념이 생겼다.
컨테이너를 이용하면 개발 환경과 운영 환경의 차이 때문에 일어나는 많은 장애를 막을 수 있다.

서비스의 규모가 커질수록 여러 컨테이너로 구성된 구조는 운영하기가 쉽지 않다. 여러 대 서버에 컨테이너를 배포하는 것부터,
서버에 장애가 발생했을 때 해당 서버의 컨테이너를 다른 서버에 옮기는 등의 모든 작업을 수동으로 하면 굉장히 피곤한 일이 될 것이다.
이런 컨테이너들을 손쉽게 제어하고 자동화할 수 있도록 만드는 것이 컨테이너 오케스트레이션 시스템이며,
그 중에 이 글을 작성하는 2021년 기준으로 가장 유명한 것이 쿠버네티스 인 것이다.