Docker와 Kubernetes 비교


원칙적으로 레벨이 다르다. 우선 오케스트레이션 시스템에 대한 이해가 필요하다.

2013년 발표된 Docker는 컨테이너화 된 응용 프로그램을 패키징하고 배포하기 위한 공개 표준을 제공했다. 컨테이너 세상을 이끄는 등 세상을 변화시켜갔지만 새로운 문제가 발생했다. 이 모든 컨테이너는 어떻게 조정되고 예정되어 있는가? 애플리케이션의 모든 컨테이너가 서로 어떻게 통신하는가? 컨테이너 인스턴스를 어떻게 확장 할 수 있는가?

그래서 컨테이너 오케스트레이션 솔루션이 등장하게 된다. Kubernetes, Mesos 및 Docker Swarm 은 대규모 클러스터 환경에서 필수적인 하나의 큰 머신처럼 동작하는 클러스터를 만들기 위해 추상화를 제공한다.

대부분의 사람들이 "Kubernetes vs. Docker"에 대해 이야기 할 때, 어쩌면 실제로 의미하는 것은 "Kubernetes vs. Docker Swarm"이다. Swarm은 Docker 컨테이너 용 Docker 고유의 고유 클러스터링 솔루션으로, Docker의 생태계에 긴밀히 통합되는 이점이 있고 자체 API를 사용한다. 대부분의 스케줄러와 마찬가지로 Docker Swarm은 서버 클러스터에 분산 된 많은 수의 컨테이너를 관리하는 방법을 제공한다. 필터링 및 스케줄링 시스템을 사용하면 클러스터에서 최적의 노드를 선택하여 컨테이너를 배치 할 수 있다.

Kubernetes는 CNCF에 기증되어 현재 오픈 소스인 Google에서 개발된 컨테이너 오케스트레이터이다. Google은 컨테이너 관리 분야에서 Google의 수년간의 전문성을 활용할 수있는 이점이 있다. 컨테이너화 된 응용 프로그램의 배포, 일정 및 스케일링을 자동화하는 포괄적인 시스템이며 Docker와 같은 많은 컨테이너 도구를 지원한다.  현재 Kubernetes는 시장 선두 주자이고 컨테이너를 조정하고 분산 응용 프로그램을 배포하기위한 표준화된 수단이다. Kubernetes는 공용 클라우드 서비스 또는 사내 구축 환경에서 실행될 수 있으며 고도로 모듈화된 오픈 소스이며 활발한 커뮤니티가 있다. 모든 규모의 회사가 이에 투자하고 있으며 많은 클라우드 제공 업체가 Kubernetes를 서비스로 제공한다.