1. 오토 스케일링
이미지로 컨테이너 생성
부하가 많으면 컨테이너 추가 생성
부하가 다시 적어지면 컨테이너 삭제
( 레플리카 - 복사된 컨테이너 )
2. 스케줄링
컨테이너를 생성할 기기(노드)를 효율적으로 지정
ex) 디스크 I/O가 많은 컨테이너 => 디스크가 SSD인 노드에 배치
ex) 클라우드 플랫폼의 가용영역 감지 => 원하는 가용영역에 배치
3. 리소스 관리
스케줄링을 하지 않은 컨테이너 자동관리
노드의 CPU, 메모리 여유 등의 리소스 상태에 따라, 컨테이너를 효율적으로 배치
리소스 상태에 따라, 새로운 노드 추가 삭제
4. 자동 복구
컨테이너 프로세스 감시 ( 모니터링 )
( HTTP/TCP, 쉘 스크립트로도 컨테이너 상태 감시 가능 )
컨테이너가 종료되면, 자동으로 재배포
( 노드에 장애가 발생해도, 다른 노드 사용 )
5. 서비스 디스커버리
??
6. 데이터 관리
etcd가 클러스터를 구성하여,
컨테이너나 서비스의 매니페스트 파일 이중화 구조로 저장
컨테이너 공통 설정, 앱에서 사용되는 DB인증 정보 등 저장
반응형