2022이전/Docker&Kubernetes
도커 vs 쿠버네티스
바로퇴장
2020. 6. 16. 19:19
이 둘을 비교한다는 것은 Dokcer Swarm 과 Kubernetes를 비교하는 것을 말한다.
도커 = 이미지 생성, 관리, 탄력적인 확장성, 격리, 이식성
쿠버네티스 = 오케스트레이션 중점, 복잡한 앱, 확장성과 복구성이 중요한 앱
도커란?
도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼' 이다.
컨테이너
는 애플리케이션 & OS앱을 구동하는 환경을 격리한 공간을 뜻한다.
자원을 필요한 만큼 격리하여 컨테이너에 할당(Host 운영체제와 자원 공유)
- 효율적
- 배포가 빠름
쿠버네티스란?
쿠버네티스는 '컨테이너 오케스트레이션 툴' 이다.
다른 컨테이너 오케스트레이션 툴로 'Docker Swarm', 'ECS', 'Nomad' 등이 있다.
오케스트레이션
는 컨테이너를 스케줄링/클러스터링/ 서비스 디스커버리/ 로깅 및 모니터링 하는 것을 뜻한다.
점진적 업데이트 제공 -> 서비스 중단 없이 업데이트 가능
특정 컨테이너가 죽었다면 즉각 그 컨테이너를 복제 생성해서 서비스를 유지한다.( = self healing)
(걍 도커는 컨테이너 죽으면 바로 버림ㅠㅠ오류로그 남겨주던지...)
마이크로서비스
거대한 어플리케이션을 기능별로 나누어 변경/좋바이 가능하게 한 것
컨테이너를 사용하면 하나의 큰 어플을 서비스 단위로 잘라 빠르게 배포 가능.
docker swarm은 stack을 이용하여 service를 관리를 하지만 세부적으로 컨테이너까지 묶어서 관리하는 것이 어렵다.
간단 요약
KUBERNETES | DOCKER SWARM |
---|---|
Docker inc | |
Huge community | (not)as...big as k8s |
복잡한 구조 | 간단한 구조 |
100~1000 < 컨테이너 관리 | 10~20< 컨테이너 관리 |
Clustering에 강점 | 이미지, 배포에 강점 |
GUI 제공 | GUI 미제공 |
Scaling out 쉬움 | Scaling out 빠름 |
트래픽 기반으로 scaling 관리 용이 | 메뉴얼 대로 scaling |
로드벨런싱 따로 설정 | Swarm을 통해 로드벨런싱 |
자동 롤백 기능 가능 | 자동 롤백 기능 x |
POD를 통해 컨테이너 관리 | node를 통해 컨테이너 관리 |