‘to plan and organize something carefully and sometimes secretly in order to achieve a desired result’
즉 컨테이너 오케스트레이션 도구는, 수십~수백개의 컨테이너를 관리하고자 할 때 보다 더 잘 관리하기 위한 툴이다.
마이크로서비스로 아키텍처 트렌드가 변화함에 따라 컨테이너의 갯수가 증가했고 여기에 확장성, 장애대응등을 위한 스케일링, 레플리카까지 추가되며 그 갯수가 이제는 수백 수천개에 이르게 되었다.
그러다보니 일일히 컨테이너를 관리할 수 있는 시기가 지나게 되었고 효율적으로 컨테이너를 관리할 수 있는 툴이 필요하게 되었다.
컨테이너 오케스트레이션의 대표적인 툴로 쿠버네티스가 현재 가장 많이 사용된다.
Scheduling – 수 많은 서버 중 최적의 서버에 컨테이너를 배포한다. (배치 실행, 구성 관리)
Self Healing – 배포된 컨테이너에 문제가 생겼을 때 자동으로 대응한다. (자가 치유, 고가용성)
Load Balancing – 서비스 트래픽을 배포된 컨테이너에 분산 (로드밸런싱)
Auto Scaling – 서비스 제공을 위해 필요한 경우 자동으로 용량 증설 (확장성)
Rolling Update – 배포된 컨테이너 환경에 대한 업데이트 진행
여러 Tier(단계)로 나뉘어지지 않은 모놀리식 아키텍처에서는 적합하지 않습니다.
고작 서너 개에 불과한 컨테이너만을 다루려면 적합하지 않습니다.
비교적 단순한 아키텍처에, 스케일링이 필요하지 않은 경우 적합하지 않습니다.