[도커]와 [쿠버네티스]의 차이는 무엇일까

Jun_Gyu·2023년 3월 2일
0
post-thumbnail

도커와 쿠버네티스는 각각 무엇이고 어떤 차이점이 있을까? 한번 알아보도록 하자
하지만 먼저 둘을 알아보기 전에 '컨테이너'라는 것이 어떤것인지 알아 볼 필요가 있다.

컨테이너??

컨테이너란, 애플리케이션과 그 애플리케이션을 구동하는 환경을 격리한 공간을 뜻한다.
한마디로 이 컨테이너라는 공간에 프로그램을 띄워 작동시킨다고 생각하면 되겠다.

1. 도커(Docker)

도커는 컨테이너 기반의 오픈소스 가상화 플랫폼을 이야기하며, 여러 컨테이너를 관리/예약하는 '도구'이다.

또한 도커는 아래와 같은 특징들을 가지고 있다.

  • 도커는 하나의 '도구'(tool)이며, *이미지를 컨테이너에 띄우고 실행하는 기술이다.

  • 하나의 큰 애플리케이션을 서비스 단위로 분할하여 빠른 배포를 가능하게 함.

  • 다른 컨테이너들 서로서로에게 영향을 주지 않음

  • 하나의 컨테이너를 관리하는데 최적화되어있다.

이미지 : 컨테이너 실행에 필요한 파일과 설정값들을 포함하고 있는 것(프로그램을 이야기함)

위의 사진을 참고하여 컨테이너를 가상머신(Virtual Machine)과 비교했을때,

가상머신은 서버의 Hypervisor 위에 VM들을 올리는 반면에,

컨테이너는 서버위에 호스트OS, 그 위에 컨테이너 엔진(도커엔진), 그리고 그 위에 컨테이너들을 적재한다.

컨테이너의 경우 필요한 자원을 컨테이너에 할당하고, 운영체제와 자원을 공유하기 때문에 VM에 비해 좀 더 효율적이고 배포가 빠르다는 특징이 있다.

또한, 같은 하나의 서버에 다른 환경의 컨테이너를 설정할 수 있으며, 각각의 컨테이너는 독립되어있다. (위에서 설명했던 내용임.)

그렇다면 이번에는 쿠버네티스에 대해서 한번 알아보자.


2. 쿠버네티스 (Kubernetes)

쿠버네티스는 '컨테이너 작업을 자동화'하는 오픈소스 플랫폼이며, 도커를 관리하는 오케스트레이션 툴을 이야기한다.

여기서 오케스트레이션이란, 다수의 컨테이너 실행을 관리하거나 조율해주는 시스템을 이야기한다.

ex) 스케쥴링/ 클러스터링/ 서비스 디스커버리/ 로깅 및 모니터링 등등..

또한 다른 오케스트레이션 툴로는 '도커스윔', 'EC2', Nomad 등이 있으며,

쿠버네티스의 경우에는 아래와 같은 특징들을 가지고 있다.

  • 도커를 관리하며 도커를 기반으로 여러 컨테이너들을 관리하는 서비스.

  • 한꺼번에 여러 컨테이너들을 서비스 단위로 관리하는데 최적화 되어있다.

  • 점진적 업데이트를 제공하기때문에 서비스중단 없이 업데이트가 가능함

간단하게 요약하자면,

도커 : 하나의 이미지를 컨테이너에 띄우고 실행하는 도구

쿠버네티스 : 도커를 기반으로 컨테이너를 관리하는 서비스

로 이해하면 되겠다.


[참고글 출처]

profile
시작은 미약하지만, 그 끝은 창대하리라

0개의 댓글