SuSu DaDDy

Kubernetes와 가상화 기술

by SuSu Daddy
반응형

□ Kubernetes

Kubernetes란 Google에서 제작해 오픈소스로 배포한 시스템으로 Container화된 애플리케이션을 자동으로 배포, 스케일링 및 관리해주는 시스템

□ 컨테이너기술

Container 기술이란 애플리케이션 실행에 필요한 라이브러리나 운영체제 패키지 등을 포함하여 만들어주는 기상 실행환경

◎ Traditional Deployment

 - 가상화 기술은 오랜시간동안 발달해왔다. 전통적인 배포환경은 하드웨어 위에 OS가 위치하고 OS에 애플리케이션이 존재하는 형태

 - OS위에 올라가는 애플리케이션은 OS에 종속적이고 다른 환경으로 마이그레이션할 경우 정상적으로 동작하지 않을 수 있는 문제점 존재

 - 애플리케이션들이 하드웨어와 OS를 공유하여 내부적으로 많은 충돌 발생

 

◎ Vertualized Deployment

 - Hypervisor란 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼 (VMWare, Virtual Box)

 - VMWare와 같은 Hypervisor를 실행하고 그 위에 Linux, Windows와 같은 운영체제를 올려 독립적으로 실행

 - 가상머신마다 OS 이미지가 필요하며 다양한 OS로 운영관리가 어려움

 - 부팅시 하이퍼바이저 -> OS -> 미들웨어 -> 애플리케이션까지 실행되므로 오래걸린다

 - 가상머신별로 독립된 메모리, 디스크 영역이 할당외더 자원이 비효율적

 

◎ Container Deployment

 - 호스트 서버의 OS에 논리적인 구역을 만들고 애플리케이션을 작동시키기 위해 필요한 라이브러리, 운영체제, 애플리케이션 등을 하나로 모아 별도의 서버인 것 처럼 만들어 주는 기술

 - 동일한 운영체제 커널을 공유하고 시스템의 나머지 부분으로 부터 애플리케이션 프로세스를 격리

   ※ Hypervisor는 OS와 커널을 가상화하지 않고 공유하며 파일시스템만을 가상화

 - Container는 Namespace와 Cgroup(Control-Groups)을 Container 별로 격리된 리소스를 제공

 - Container 마다 별도의 OS까 가상화되어 있지 않기 때문에 가볍고 빠르게 실행가능 하며 호스트 서버 환경에 구애 받지 않고 다양한 애플리케이션을 Container화하여 실행 가능 

반응형

블로그의 정보

SuSu Daddy

SuSu Daddy

활동하기