🌳 고급 고급
컨테이너 오케스트레이션이란?
쉽게 이해하기
택배 물류센터를 떠올려보세요. 수천 개의 택배 상자를 어디에 둘지, 어떤 트럭으로 보낼지, 문제가 생기면 어떻게 재배치할지 자동으로 관리하는 시스템이 있다면 효율적이겠죠? 컨테이너 오케스트레이션은 이처럼 수많은 컨테이너를 자동으로 배치하고 관리하는 역할을 합니다.
핵심 정리
수많은 컨테이너를 자동으로 관리하고 배포하는 시스템입니다.
자세히 알아보기
서비스가 커지면 하나의 서버가 아닌 수십, 수백 개의 컨테이너를 동시에 운영하게 됩니다. 이때 컨테이너 오케스트레이션 도구가 필요합니다. 대표적인 도구가 쿠버네티스(Kubernetes)입니다.
오케스트레이션이 하는 일은 다양합니다. 컨테이너를 어느 서버에 배치할지 자동으로 결정하고, 특정 컨테이너가 죽으면 자동으로 새로 띄워줍니다. 트래픽이 많아지면 컨테이너 수를 자동으로 늘리고, 적어지면 줄입니다. 또한 컨테이너 간 네트워크를 자동으로 설정하고, 로드밸런싱도 해줍니다.
예를 들어 쇼핑몰 서비스가 있다면, 상품 목록을 보여주는 컨테이너 10개, 결제를 처리하는 컨테이너 5개, 이미지를 처리하는 컨테이너 3개가 동시에 돌아가야 합니다. 오케스트레이션 도구는 이들을 자동으로 배치하고, 문제가 생기면 재시작하고, 필요하면 개수를 조절합니다.
실무에서는 쿠버네티스가 가장 많이 쓰입니다. Docker Swarm, Amazon ECS 같은 도구도 있지만, 쿠버네티스가 사실상 표준입니다. 클라우드 서비스(AWS, GCP, Azure)는 모두 관리형 쿠버네티스 서비스를 제공합니다.
컨테이너 오케스트레이션을 쓰면 서비스의 안정성과 확장성이 크게 올라갑니다. 수동으로 관리하면 실수도 많고 시간도 오래 걸리지만, 오케스트레이션 도구를 쓰면 대부분 자동화됩니다.