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'등이 있다.
도커는 하나의 이미지를 컨테이너에 띄우고 실행하는 도구이며
쿠버네티스는 컨테이너를 동적으로 여러개의 컨테이너로 필요한 만큼 생성하거나,
독립적으로 분리, 독립시켜 마이크로서비스를 할 수도 있는 도구입니다.
쿠버네티스는 로드밸런싱, 자동화된 복구, 무중단 서비스와 클러스터링 등의 기능을 제공합니다.
컨테이너를 하나만 구성 관리하는 경우에는 사용할 필요가 없는 도구입니다.
'Study > Knowledge' 카테고리의 다른 글
[Windows] 윈도우 ,오피스 - 버전별 ISO 무료 다운 프로그램 (0) | 2021.04.15 |
---|---|
[Infra] IaC의 개념과 종류 - 앤서블, Terraform,Puppet... (0) | 2021.03.29 |
[Git] Git의 기초, 개념, 구조, 간단 사용법 (0) | 2020.08.10 |
[JS] 비동기 처리 ajax 구문 사용법 (0) | 2020.05.22 |
[윈도우] 레지스트리, 편집기, CMD 명령어 (0) | 2020.05.22 |