Container application을 공부하면서 Docker(도커)와 Kubernetes(쿠버네티스)라는 단어를 자주 접하게 된다. 하지만 이 둘의 차이점을 잘 모르는 경우가 대부분이며, 심지어 “나는 도커를 사용할거야”, “쿠버네티스를 사용할거야”처럼 둘을 선택 대상이라고 생각하는 경우도 있다. 그렇기 때문에 이번 기회에 도커와 쿠버네티스의 차이에 대해 알아보자.
도커(Docker)
다양한 프로그램, 실행환경 등을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포와 관치를 단순하게 해준다.
도커에서는 컨테이너와 이미지라는 개념이 중요하다. 이미지는 컨테이너 실행에 필요한 파일들과 설정을 가지고 있는 개념으로, 변하지 않는다는 특징이 있다. 컨테이너는 이미지를 실행한 상태라고 볼 수 있으며, 추가되거나 변하는 값은 컨테이너에 저장된다. 이와 같이 도커 이미지는 간단한 명령어를 통해 손쉽게 컨테이너 어플리케이션을 구축할 수 있게 해준다.
쿠버네티스
컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다.
쿠버네티스는 쿠버네티스의 오케스트레이션 시스템을 사용하여 상용 서비스에 사용할 서버들을 클러스터로 구성하기만 하면 명령어 한번으로 자동 배포가 가능하다. 그리고 클러스터 일부에 문제 혹은 장애가 발생하면 시스템이 문제가 발생한 서버에 있는 컨테이너를 정상 운영 중인 다른 서버로 옮겨서 실행하는 등 여러 대의 서버에 배포한 컨테이너를 수월하게 관리할 수 있도록 해준다.
요약
도커는 '기술적인 개념이자 도구' 이고,
쿠버네티스는 '도커를 관리하는 툴'이라고 생각하면 된다.
즉, 이미지를 컨테이너에 띄우고 실행하는 기술이 도커이고, 이런 도커를 기반으로 컨테이너를 관리하는 서비스가 쿠버네티스라고 생각하면 된다.
'프로그램 > dockerize' 카테고리의 다른 글
Kubernetes(쿠버네티스)란? (0) | 2021.07.23 |
---|---|
Docker(도커)란? (0) | 2021.07.22 |
Container( 컨테이너 )란? (0) | 2021.07.19 |
댓글