Search
Duplicate

컨테이너 및 오케스트레이션 툴

태그

컨테이너

어플리케이션과 어플리케이션을 구동하는 환경을 격리한 공간을 의미한다. 대부분의 서버 장비들은 컴퓨팅 환경을 SW로 구현한 VM을 사용한다. 이를 위해 Hypervisor를 구성하여 그 위에 guest OS를 올리지만, 컨테이너로 구성된 서버는 Hypervisor를 사용하지 않고 CPU, RAM, Disk, Network와 같은 OS 자원을 필요한 만큼 컨테이너 내부에 할당한다.

컨테이너 장점

1.효율성 OS의 자원을 공유하여 서버 전체 자원을 효율적 사용 2. 신속성 VM의 용량이 몇 GB인 것에 비하여 구조적으로 Geust OS가 없어 용량이 몇 MB단위로 작아 배포가 빠름 3. 라이센스 비용 절감 컨테이너 서버는 Host OS 1대의 라이선스 비용만 발생 4. 일관성 있는 환경 컨테이너는 어플리케이션에 필요한 종속 항목(언어, 런타임 및 라이브러리 ver)을 포함하여 배포되는 위치에 관계없이 일관성을 유지할 수 있다 5. 폭 넓은 구동환경 컨테이너는 Linux, Windows, VM, 퍼블릭 클라우드 등 어느 환경에서나 구동되어 개발 및 배포가 쉽다 6. 격리 CPU, MEM, 저장소, 네트워크 리소스를 OS 수준에서 가상화하여 개발자에게 기타 어플리케이션으로부터 논리적으로 격리된 OS 샌드박스 환경을 제공

컨테이너 오케스트레이션

다중 컨테이너 패키지 어플리케이션을 배포하는 동안 사용되는 컨테이너, 리소스의 자동화, 정렬, 조정 및 관리를 하는 것을 의미하며 오케스트레이션 툴을 통해 수행된다. 여러 개의 컨테이너(ex : DB, Web front-end, COM back-end)를 각각 배치, 연결, 관리, 확장하는 것을 신경 쓸 필요 없이 대형 어플리케이션 안에 넣어 하나의 기기로 관리한다
오케스트레이션 툴의 기능
1.
노드 클러스터링 여러 개의 노드를 병렬 시스템으로 묶어 하나처럼 관리
2.
컨테이너 로드 밸런싱 부하 분산을 위해서 트래픽을 분배
3.
컨테이너 배포 및 복제 자동화 컨테이너를 자동으로 배포하고 복제
4.
컨테이너 장애 복구 하나의 컨테이너가 다운되어도 중단없이 복구
5.
컨테이너 오토 스케일링 자동으로 Scale Up/Down
6.
컨테이너 스케줄링 컨테이너를 어떤 노드에 배치할 지를 자동으로
7.
로깅 및 모니터링 컨테이너들의 상태를 모니터링