Day 84 · 2/5
🌳 고급 infrastructure

컨테이너 오케스트레이션이 뭔가요?

쉽게 이해하기

항구에서 수많은 컨테이너를 실은 배들을 관리하는 관제센터를 생각해보세요. 어느 배를 어디에 정박시킬지, 화물을 어떻게 나눌지, 배가 고장나면 어떻게 대체할지 모두 자동으로 관리해주는 시스템이 있다면 편리하겠죠? 컨테이너 오케스트레이션이 바로 그런 역할을 해요.

핵심 정리

여러 개의 컨테이너를 자동으로 배포하고 관리하는 시스템이에요.

자세히 알아보기

Docker 컨테이너를 하나둘 쓸 때는 수동으로 관리해도 괜찮아요. 하지만 서비스가 커지면 수십, 수백 개의 컨테이너를 관리해야 하는데, 이걸 사람이 일일이 하기엔 너무 복잡해요. 컨테이너 오케스트레이션 도구는 이런 컨테이너들을 자동으로 배포하고, 모니터링하고, 장애가 나면 자동으로 재시작해주는 시스템이에요. 가장 유명한 도구는 쿠버네티스(Kubernetes)예요. 쿠버네티스를 사용하면 '이 앱은 컨테이너 3개로 실행해줘', '이 컨테이너가 죽으면 자동으로 새 컨테이너를 띄워줘', '트래픽이 많아지면 컨테이너를 자동으로 늘려줘' 같은 규칙을 정의할 수 있어요. 그러면 시스템이 알아서 그 규칙대로 컨테이너를 관리해줘요. 실무에서는 마이크로서비스 아키텍처를 사용할 때 필수적이에요. 예를 들어 넷플릭스는 수천 개의 마이크로서비스를 쿠버네티스로 관리해요. 각 서비스는 독립적인 컨테이너로 실행되고, 오케스트레이션 시스템이 전체를 조율해서 안정적으로 서비스가 돌아가게 만들죠. 컨테이너 오케스트레이션을 잘 활용하면 서비스를 더 안정적으로 운영할 수 있고, 자동 복구, 자동 확장 같은 고급 기능을 쉽게 구현할 수 있어요.