지난 4월호 뉴스레터에서는 마이크로 서비스들을 컨테이너로 만들어 배포 하는 방법에 대해 소개해 드렸습니다. (마이크로 서비스 다시 보기)
이번 연재에서는 이전에 안내드린바와 같이 Container 배포 관리 툴에 대해 안내드리도록 하겠습니다.
컨테이너 배포 관리는 흔히 컨테이너 오케스트레이션 (Container Orchestration) 이라고 불립니다.
컨테이너 오케스트레이션의 목적은 여러 컨테이너의 배포 프로세스를 최적화 하는데 있으며, 이것은 컨테이너와 호스트의 수가 증가함에 따라 점점 더 가치가 있게 됩니다. 이러한 유형의 자동화를 오케스트레이션이라고 합니다.
오케스트레이션은 단지, 컨테이너를 자동 배포하는 기능만 있는 것이 아니라 다음과 같은 다양한 기능을 포함 할 수 있습니다.
• 컨테이너 자동 배치 및 복제
• 컨테이너 그룹에 대한 로드 밸런싱
• 컨테이너 장애 복구
• 클러스터 외부에 서비스 노출
• 컨테이너 추가 또는 제거로 확장 및 축소
• 컨테이너 서비스간의 인터페이스를 통한 연결 및 네트워크 포트 노출 제어
컨테이너 오케스트레이션 도구 중 Docker기반 오케스트레이션 도구가 있습니다. 이 중 가장 많이 알려진 도구에 대해 알아보겠습니다.
위에서 살펴본 3가지 오케이스레이션 도구는 설정방법과 동작방식이 상당히 다릅니다.
Docker Swarm은 Docker 호스트 클러스터를 조정하기 가장 쉬운 방법을 제공하고 있고,
Kubernetes는 컨테이너 서비스 배포 및 관리에 많은 이점을 가지고 있습니다.
Apache Mesos는 대규모 클러스터링을 지원하고 특히 Hadoop, Kafka 및 Spark 와 같은 다른 서비스와 함께 응용 프로그램을 배치해야 하는 환경에 특히 적합합니다.
위에서 언급한 툴 중에 최근 많은 각광을 받고 있는 Kubernetes에 대해서 다음 시간에 좀 더 심도 있게 소개 해 드리도록 하겠습니다.
컨테이너 오케스트레이션에 대해 더 알고 싶다면?