Kubernetes

쿠버네티스(Kubernetes) 소개

 

쿠버네티스란 (Kubernetes)

쿠버네티스는 컨테이너 오케스트레이션(Orchestration) 입니다.

 

자동으로 컨테이너의 배포, 확장, 관리를 지원하는 플랫폼 입니다. 

 

구글에서 처음 시작한 프로젝트로서 2014년 쿠버네티스 프로젝트를 오픈소스화 했습니다.

 

쿠버네티스는 CNCF (클라우드 네이티브 컴퓨팅 재단)를 첫번째로 졸업한 작품입니다. 

 

 

Why 쿠버네티스 (Kubernetes)

쿠버네티스의 필요성을 설명하기 앞서 서버 인프라의 발전과정을 간략하게 집고 넘어가겠습니다.

 

전통적인 애플리케이션 배포방식 (Traditional deployment)

초기 사람들은 물리적인 서버 위에 애플리케이션을 실행시켰습니다. 

시간이 지남에 따라 서버 사양은 비약적으로 발전했고 고사양의 서버 자원을 효율적으로

사용할 수 있는 수요가 생기게 됩니다.

 

가상화 배포방식 (Virtualized deployment)

서버 자원을 효율적으로 사용하기 위한 방안으로 가상화라는 개념이 도입됩니다.

이름 그대로 물리적인 서버를 다수의 가상서버로 나눠 사용하는 방식으로

가상화에는 호스트가상화, 하이퍼바이저가상화, 컨테이너 가상화가 있습니다. 

(가상화 방식에 대해서는 다른글에서 자세히 다루겠습니다)

 

컨테이너 배포방식 (Container deployment)

컨테이너 기반 가상화는 오래전부터 존재했던 기술입니다.

2013년 도커의 트레이드마크인 귀여운 고래로고와 함께 세상에 공개되었습니다.

가볍고 빠른 장점과 쉬운조작이 가능한 인터페이스를 제공해 사용자가 점점 증가하게 되었고,

도커를 통해 생성된 컨테이너가 많아지며 이를 관리할 수 있는 플랫폼에 대한 수요가 발생합니다.

 

이러한 수요를 충족하기 위해 시중에는 다양한 도커 관리플랫폼이 있습니다. 

도커스웜(docker swarm), 아파치 메소스(Apache Mesos), 쿠버네티스(Kubernetes) 다양한 플랫폼이 경쟁하였고,

지금은 사실상 쿠버네티스가 업계 표준이 되었다고 봐도 무관합니다.

쿠버네티스가 표준이 된 가장큰 원인은 아무래도 구글의 힘이 컸겠죠.

실제로 쿠버네티스 깃허브에 들어가보시면 전세계 수많은 개발자들이 협업하여 거대한 프로젝트를

발전시키고 있는 것을 확인할 수 있습니다. 그만큼 새로운 버전 업데이트도 빠릅니다 !