반응형

 

요즘 컨테이너 기술이 발전하면서 도커와 쿠버네티스를 공부하는 사람들이 많아졌다. 도커 입문자들을 위해 기초적인 가상화 개념과 리눅스 컨테이너의 개념들에 대해서 정리해보려고 한다. 리눅스 기초지식이 있는 사람들 대상으로 실습을 하는게 맞다고 생각은 하지만, 비전공자 중 IT회사에서 살아남아야 하는 직장인들을 위해서도 쉽게 설명해보려고 한다.

 

먼저 도커, 컨테이너, 쿠버네티스, 클라우드 등등. 이름만 아는 개념들이 많이 있을 것이다. 그 개념들을 알아보기 전 가상화 개요에 대해서 생각해보자.

 

 

* 배경

하드웨어 산업이 엄청나게 성장하면서 성능이 좋은 하드웨어들을 구하기가 쉬워졌다. 그래서 2000년도부터 가상화 기술이 떠오르고 있다. 활용하지 않는 자원을 낭비하지 않고 잘 쓰기 위해서 현재까지 오게 되었다.

 


 

* 종류

가상화의 종류는 많고 클라우드 서비스에서 다양한 가상화 기술들을 사용하고 있다. 대표적으로 크게 4가지로 분류해볼 수 있다.

 

 

1. 서버 가상화

하이퍼바이저(windows의 hyper V, VMware, Xen, VirtualBox, KVM 등)

위의 프로그램을 이용하기도 하며 흔히 아는 일반적인 가상화 기술이다. CPU나 메모리 등을 논리적으로 나눠서 사용할 수 있게 해주는 기술이다. 가상 머신을 생성하려면 CPU나 메모리와 같은 시스템 자원을 나눠주는 파티셔닝 기술이 필요하다. 이 파티셔닝 기술은 하드웨어 파티셔닝과 소프트웨어 파티셔닝이 있지만, 현재 소프트웨어 파티셔닝 기술이 주로 사용되고 있다. 소프트웨어 파티셔닝은 소프트웨어를 사용하여 가상 머신에게 시스템 자원을 할당하게 되는데, 이때 사용하는 소프트웨어를 하이퍼바이저라고 한다. 필수도구이며 쉽게 접할 수 있을 것이다.

 

예전에 내가 알고있던 가상화의 개념이 바로 서버 가상화였다. 아래와 같이 다른 가상화 개념들이 있다는 사실을 알고나니 조금 더 컨테이너 개념에 대해 이해하기가 쉬워진 것 같다.

 

2. 네트워크 가상화

NFV(Network Function Virtualization), SDN(Software Defined Network)

가상으로 네트워크를 나누어서 자원으로 사용하고 필요하지 않으면 다시 회수하는 형태로 사용할 수 있으며 이 네트워크 가상화를 사용하면 네트워크를 유연하고 빠르게 제공할 수 있다. 이 네트워크 가상화 분야가 요즘 인기가 많다고는 하는데 아직 접해보지는 못했다.

 

3. 스토리지 가상화

SDS(Software Defined Storage)기술이 주목받고 있으며, 대표적인 오픈소스 SDS 스토리지로 Ceph와 Glusterfs가 있다.

RAID처럼 물리적인 드라이브를 논리적으로 나눠서 사용하는 기술이다.

 

4. 컨테이너 가상화

Docker가 대표적이다.

컨테이너 가상화는 호스트 운영체제에서 논리적인 구역들을 만들어서 각각 독립적으로 애플리케이션을 실행하는 기술이다. 리소스를 효율적으로 사용하거나 애플리케이션들을 빠르게 배포할 수 있다.

 


docker logo (귀요미 도커 고래)

 

 

다음 포스팅에서는 컨테이너에 대해 정리해볼텐데,

가상화 -> 컨테이너 -> 도커(컨테이너를 다루는 종류 중 하나임) -> 쿠버네티스 순으로 확장되어 나갈 예정이다.

 

 

반응형

+ Recent posts