가상화
가상화란 컴퓨터에서 활용하는 리소스를 추상화 하는 것을 의미합니다.
여러 개의 가상 머신을 생성하여 단일 컴퓨팅 자원을 여러 개의 논리적 자원으로 나누어 동작시킬 수 있습니다.
호스트 가상화
운영체제를 설치한 후 하이퍼바이저를 통해 가상머신을 만들고 각 가상머신 내부에 게스트 운영체제가 설치됩니다.
하이퍼바이저 : 단일 물리 머신에서 다수의 가상머신을 실행할 때 활용하는 소프트웨어(VMware, 버추얼박스 등)
하이퍼바이저 가상화
호스트 운영체제 없이 부팅 시 가상머신을 선택하여 동작하게 됩니다. 성능이 우수하다는 장점이 있지만 초기 설정이 복잡하고 관리가 어려울 수 있습니다.
컨테이너 가상화
운영체제 위에 컨테이너를 운영하기 위한 도커를 설치한 후 다수의 컨테이너를 통해 애플리케이션을 실행합니다.
컨테이너 가상화는 컨테이너 간 격리가 되기 때문에 다른 애플리케이션에 영향을 미치지 않아 서로 다른 환경에서 애플리케이션을 실행할 수 있습니다.
컨테이너 구성요소
리눅스 커널의 기능을 기반으로 컨테이너를 생성한다
chroot
새로운 가상 root 디렉토리를 지정
프로세스에 대한 파일시스템은 격리하지만 시스템 설정 및 환경은 동일하며
새로 할당된 root 디렉토리 하위로만 접근이 가능함
namespace
컴퓨팅 자원을 분리하는 기술
프로세스 별 리소스 사용을 분리하는 것
다른 namespace에 존재하는 프로세스들은 서로 리소스 관리를 따로 수행한다
프로세스에 대한 환경을 격리하지만 하드웨어 자원에 대한 분리를 수행하지는 않음
cgroup
특정 그룹에게 블럭 IO, CPU, Memory, 파티션을 할당하고 제어하는 것
이미지 출처:
https://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS8893081462&cate_cd=
'Docker & Kubenetes' 카테고리의 다른 글
[k8s] Service Account (0) | 2025.03.12 |
---|---|
kubectl 명령어 정리 (0) | 2025.03.07 |
Kubernetes 버전 업그레이드 (1.30) - 기존 클러스터 환경 삭제 (0) | 2025.03.04 |
Kustomize로 Kubernetes 구성 관리하기 (0) | 2024.07.04 |
Kubernetes Service (0) | 2024.05.14 |