컨테이너 오케스트레이션 개요

 

도커 컨테이너의 갯수가 꾸준히 늘어나면 필요한 자원도 지속적으로 늘어나기 마련이다 때문에 서버 또한 여러대로 늘어날 수 있는데 한대 두대의 수준이 아니라 몇 십 몇 백대의 서버로 늘어났다고 가정 해보자 이 많은 서버들을 일일이 접근하여 명령어 날려주고 컨테이너 올리고 "어? 이건 또 왜 내려갔어?" 하다가 시간은 시간대로 흘러버리고 정신을 차려보면 라꾸라꾸 침대가 본인 의자옆에 있는것을 발견 할 수 있을것이다. 결론적으로 이 많은 서버들과 컨테이너를 소수의 인원으로 관리하기에는 상당히 어렵고 이 문제를 효율적으로 관리하기 위해 컨테이너 오케스트레이션 툴들이 나오게 되었다.

 

 

컨테이너 오케스트레이션 툴 소개

Docker Swarm / Kubernetes / Apache Mesos

 

컨테이너 오케스트레이션 툴의 기능에는 단순 컨테이너의 배포 뿐만이 아닌 하나의 서비스를 관리하고 유지보수 하기 위한 많은 기능들을 포함하고 있고 툴마다 기능에 대한 편차는 있으나 주요 기능은 아래와 같다.

 

 

오케스트레이션 툴의 기능

  • 노드 클러스터링
  • 컨테이너 로드 밸런싱
  • 컨테이너의 배포와 복제 자동화
  • 컨테이너 장애 복구기능
  • 컨테이너 자동 확장 및 축소
  • 컨테이너 스케쥴링
  • 로깅 및 모니터링

 

컨테이너 오케스트레이션 툴의 종류는 여러가지가 있지만 그 중 가장 인지도가 높고 자주 소개되는 Docker Swarm, Kubernetes, Apache Mesos에 대해서 각 툴의 장점과 단점을 간략히 설명 하도록 하겠다.

 

 

Docker Swarm

 

도커 스웜은 도커 컨테이너 플랫폼에 통합 된 컨테이너 오케스트레이션 툴이다. 최초에 도커 스웜은 도커와 별개로 개발 되었으나 도커 1.12 버전부터 도커 스웜 모드라는 이름으로 합쳐졌다.

 

장점

  • 도커 명령어와 도커 컴포즈를 포함한 도커의 모든 기능이 내장되어 있다.
  • 도커 이외의 별도의 툴 설치가 필요하지 않다.
  • 타 오케스트레이션 툴에 비해 복잡하지 않고 다루기 쉽다.

 

단점

  • 타 오케스트레이션 툴에 비해 기능이 단순하여 세부적인 설정이 어려움
  • 초대형 노드 클러스터링에는 무리가 있다.

 

 

Kubernetes

 

쿠버네티스는 구글에서 개발한 2014년 오픈소스화 된 프로젝트이다. 무려 15년에 걸친 구글의 대규모 운영 워크로드 운영 경험과 노하우가 축적된 프로젝트로 컨테이너 중심의 관리환경을 제공한다.

 

장점

  • 현재 가장 인지도가 높고 기능이 많은 오케스트레이션 툴
  • 내장된 기능이 많아 타사 애드온이 불필요함

 

단점

  • 쿠버네티스의 구성과 개념에 대한 이해가 필요하다.
  • 학습해야할 부분이 많고 소규모 프로젝트에서 구축하기 쉽지 않다.

 

 

Apache Mesos

 

아파치 메소스는 Twitter, Apple, Uber, Netflix 등 대형 서비스를 운영하고 있는 기업에서 다수 채택 되었으며 마이크로서비스와 빅데이터, 실시간 분석, 엘라스틱 스케일링 기능 등을 제공하고 있다.

 

장점

  • 대형 서비스를 운영중인 회사에서 많이 채택 되었고 안정성이 검증되었다.
  • 수만대의 물리적 시스템으로 확장 가능하게 설계 되어있다.
  • Zookeeper, Hadoop, Spark와 같은 응용프로그램을 연동하여 노드 클러스터링과 자원 최적화 가능

 

단점

  • 너무 다양한 응용프로그램의 연동으로 인하여 복잡해질 수 있다.
  • 설치 및 관리가 어렵고 컨테이너를 활용하기 위해 Marathon 프레임워크를 추가로 설치해야 한다.

 

 

결론 : 이럴 때 적합!

 

Docker Swarm

  • 중소형 프로젝트일 경우
  • 관리 할 노드가 적고 많은 기능이 필요하지 않을 경우

 

Kubernetes

  • 대형 프로젝트일 경우
  • 세밀하고 다양한 설정 기능이 필요한 경우

 

Apache Mesos

  • 대형 프로젝트일 경우
  • 검증된 오케스트레이션 툴을 찾고있는 경우

 

 

Docker : 컨테이너 오케스트레이션 개요 편

끝.

'Docker' 카테고리의 다른 글

Docker : 도커스웜 클러스터 구축 편  (0) 2019.05.17
Docker : 컨테이너 오케스트레이션 개요 편  (0) 2019.04.19
Docker : Dockerfile 실습 편  (0) 2019.03.22
Docker : Dockerfile 편  (0) 2019.03.07
Docker : 이미지 편  (0) 2019.02.22
Docker : 컨테이너 편  (1) 2019.02.15
Posted by DevStream

댓글을 달아 주세요