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화하여 실행 가능
'Dev > Kubernetes' 카테고리의 다른 글
[k8s] 쿠버네티스 클러스터 업그레이드 (v1.3.0 → v1.3.1) (0) | 2024.08.28 |
---|---|
[k8s] Install jenkins with Helm (0) | 2022.08.24 |
[k8s] load balancer for bare-metal (0) | 2022.08.24 |
[k8s] Install ingress-nginx with Helm (0) | 2022.08.24 |
[k8s]쿠버네티스 대시보드(dash-board) 설치 (0) | 2022.08.15 |
블로그의 정보
SuSu Daddy
SuSu Daddy