1. 하이퍼 바이저란 ?(VMware, VirtualBox)
하이퍼바이저는 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있는 소프트웨어이다.
많이 사용하는 VM 구조는 기존 OS 위에서 하이퍼 바이저를 사용하는 방식이다. 예를 들어 윈도우 PC에서 VMware 설치한 후 거기에서 ubuntu OS를 설치하는 구조.
https://devlog-wjdrbs96.tistory.com/279
2. 가상화 (하이퍼바이저를 이용한 가상머신 VS. 컨테이너를 이용한 도커방식)
1) 하이퍼바이저를 이용한 가상머신
가상머신은 호스트운영체제 위에 가상화 소프트웨어를 이용하여 여러 개의 게스트 OS를 구동하는 방식이다. 하이퍼바이저는 가상머신을 생성하고 실행하는 역할과 가상화된 하드웨어와 각각의 가상머신을 모니터링하는 중간관리자이다. 대표적인 가상화 프로그램으로는 VMware와 VirtualBox가 있다.
각각의 게스트 OS는 호스트 운영체제로부터 독립된 자원을 할당받아 가상화된 서비스를 제공하기 때문에 수 기가바이트의 용량을 차지하는 이미지를 만들어 사용한다. 따라서 가상머신은 하드웨어 가상화이다.
2) 컨테이너를 이용한 도커
컨테이너를 이용한 가상화는 리눅스 기반의 물리적 공간 격리가 아닌 프로세스 격리를 통해 경량의 이미지를 실행하고 서비스할 수 있는 컨테이너 기술이다. 물리적 요소에 대한 가상화인 가상머신과 다르게 컨테이너 가상화는 프로세스 가상화이다. 컨테이너 기술의 장점은 하이퍼바이저와 게스트 OS가 없어 가볍다. 따라서 이미지 복제, 이관, 배포가 쉬우며 가상머신보다 경량이므로 더 많은 애플리케이션을 실행할 수 있다. 또한, 게스트 OS를 부팅하지 않기 때문에 애플리케이션 시작시간이 빠르다.
3) 도커 엔진
도커 엔진은 클라이언트와 서버로 구분된다. 클라이언트는 도커 명령을 받고, 결과를 출력하며, 서버는 도커엔진, 즉 도커 데몬을 이용해 컨테이너 시작, 운영, 정지 등을 담당한다.
'DevOps > Docker, Jenkins, Ansible, Terraform' 카테고리의 다른 글
Ansible-Playbook (0) | 2023.02.04 |
---|---|
CloudFormation (클라우드 포메이션)으로 인프라 관리하기 (0) | 2023.02.02 |
Jenkins, Packer, Ansible의 역할 (0) | 2023.01.24 |
Jenkins, Docker, SpringBoot, React or Vue (0) | 2023.01.08 |
CentOS에 Jenkins 설정 (0) | 2023.01.08 |