본문 바로가기
Study/Knowledge

[Infra] VM vs 컨테이너, 도커와 쿠버네티스 - 총정리

 

 

1. VM vs Container

VM은 하나의 물리적인 PC에서 여러 컴퓨터를 추가로 OS부터 설치하여 구성하는 가상환경을 말합니다.

VM은 하나의 컴퓨터 위에, 자원을 나누어 만들어지기 때문에, 자원이 많이 필요하고,

하나의 PC에서 독립적인 IP와 독립적인 사용자, 독립적인 공간을 할당받아 

독립적인 서비스를 제공할 수 있는 기능입니다.

이런 가상화 기능으로 Linux , Redhat , Mac 등의 여러 가상 OS환경을 한대의 컴퓨터에 설치해 사용할 수 있습니다, 

 

Container는 Linux라는 제한적인 OS상에서 저장된 이미지로 쉽게 불러와 설치되므로,

다양한 프로그램들의 설정과 작업순간까지 이미지로 컨테이너화하여 복잡한 개발환경을 쉽게 재생해낼 수 있습니다. 

 

장점

서로다른 VM들은 모두 다른 환경을 가지기 때문에,

도커 컨테이너 보다 보안성이 높고,

한 컴퓨터에서 다양한 OS 환경을 다룰 수 있다는것이 큰 장점입니다. 

 

단점

하지만, VM기능을 쓸 대상 컴퓨터는 OS 레벨부터 또 다른 컴퓨터를 구성하는것과 같기때문에,

비교적 자원이 많이 필요합니다.

VM은 하나의 컴퓨터와 같으므로 컨테이너환경을 사용하는것과 달리

유지 업데이트 관리가 VM별로 따로 이루어지므로 불편한 부분이 있습니다.  

 

컴퓨터 성능만 받쳐준다면,

한 컴퓨터에서 가상화 기술을 이용해 여러 VM을 만들고,

VM안에 도커와 쿠버네티스를 이용해 여러 컨테이너를 띄울수도 있습니다.

 

최신 기술을 이용해 다양한 작업환경을 쉽게 만들고 사용할 수 있습니다.

 

 

 

 

2. Docker vs 쿠버네티스

 

VM을 관리하는 도구로는 XenCenter, VirualBox 등이 있고

Container 를 관리하는 도구로는 도커와 쿠버네티스가 있습니다.

 

도커는 통상적으로 컨테이너를 가리키는 개념이자 관리 도구이며,

쿠버네티스는 통상적으로 오케스트레이션을 가리키는 개념이자 도커를 관리하는 툴입니다.

 

 

오케스트레이션이란?

더보기

오케스트레이션이란?

  • 컨테이너 역시 그 수가 많아지게 되면 관리와 운영에 있어서 어려움이 따른다.
  • 컨테이너 오케스트레이션은 이러한 다수의 컨테이너 실행을 관리 및 조율하는 시스템이다.
  • 오케스트레이션 엔진을 통해 컨테이너의 생성과 소멸, 시작 및 중단 시점 제어, 스케줄링, 로드 밸런싱, 클러스터링 등 컨테이너로 어플리케이션을 구성하는 모든 과정을 관리할 수 있음
  • 다른 컨테이너 오케스트레이션 툴로는 '도커 스웜', 'ECS', 'Nomad'등이 있다.

 

 

 

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

쿠버네티스는 컨테이너를 동적으로 여러개의 컨테이너로 필요한 만큼 생성하거나,

독립적으로 분리, 독립시켜 마이크로서비스를 할 수도 있는 도구입니다. 

 

 

쿠버네티스는 로드밸런싱, 자동화된 복구, 무중단 서비스와 클러스터링 등의 기능을 제공합니다.

컨테이너를 하나만 구성 관리하는 경우에는 사용할 필요가 없는 도구입니다.

 

 

 

더보기

참고사이트

wooono.tistory.com/109

 

[Kubernetes] 도커와 쿠버네티스 간단 비교

도커와 쿠버네티스 비교 예시 컨테이너 하나 띄워서 사용해야지 => 도커 0월 0시에 100개의 컨테이너를 자동으로 생성해야지 => 쿠버네티스 간단 설명 도커는 '기술적인 개념이자 도구'이고 쿠버

wooono.tistory.com

www.redhat.com/ko/topics/containers/what-is-docker

 

Docker(도커)란? 도커 컨테이너 실행, 사용법, 다운로드, 배포

Docker(도커)란 Linux(리눅스) 컨테이너 생성 및 사용을 돕는 컨테이너 기술을 뜻합니다. Docker 사용법, Docker container(도커 컨테이너), 다운로드 방법을 설명합니다.

www.redhat.com

docs.microsoft.com/ko-kr/virtualization/windowscontainers/about/containers-vs-vm

 

컨테이너와 가상 머신 비교

이 토픽에서는 컨테이너와 가상 머신의 유사성 및 차이점에 대해 설명하고, 각각을 언제 사용해야 하는지 알아봅니다. 컨테이너와 가상 머신은 각각 용도가 다릅니다. 실제로 대다수의 컨테이

docs.microsoft.com

conservative-vector.tistory.com/entry/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4%EC%99%80-%EB%8F%84%EC%BB%A4%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

쿠버네티스와 도커의 차이

💡 도커와 쿠버네티스 예시 : 컨테이너 하나 띄워서 사용해야지 => 도커를 쓰자 0월 0시에 100개의 컨테이너를 자동으로 생성해야지 => 쿠버네티스를 쓰면 된다. 쿠버네티스란? 여러 컨테이너를

conservative-vector.tistory.com