KR_가상화 - somaz94/DevOps-Engineer GitHub Wiki
DevOps 엔지니어를 위한 가상화 핵심 개념 정리. 상세 내용은 각 링크를 클릭하세요.
- 가상화: 물리적 장치·리소스의 가상 버전을 소프트웨어로 생성하는 기술
- 하이퍼바이저 (Type 1): 하드웨어 위에서 직접 실행 — 베어메탈 가상화 (VMware ESXi, Hyper-V)
- 호스트 가상화 (Type 2): 호스트 OS 위에서 실행 — 개발·테스트용 (VirtualBox, VMware Workstation)
- 전 가상화: 하드웨어 완전 에뮬레이션 — 게스트 OS 수정 불필요
- 반 가상화: 게스트 OS가 하이퍼바이저 인식·직접 통신 — I/O 성능 우수
- 컨테이너 가상화: 호스트 OS 커널 공유, 앱과 의존성만 격리 — VM보다 경량 (Docker, Kubernetes)
- RAID: 복수 물리 디스크를 하나의 논리 장치로 결합 — 성능·이중화 향상
- LVM (Logical Volume Manager): 물리 스토리지 위에 추상화 계층 — 유연한 크기 조정
- Docker: Linux cgroups·네임스페이스·OverlayFS를 활용한 컨테이너 실행 플랫폼
- Dockerfile: 이미지 빌드 명령을 정의하는 텍스트 파일 (FROM, RUN, COPY, CMD, EXPOSE, ENV)
-
Docker Compose:
docker-compose.yml로 멀티 컨테이너 앱을 정의·실행하는 도구 - Docker Hub: Docker 이미지 공개 저장소
- cgroups: 프로세스 그룹의 CPU·메모리·I/O 리소스 제한
- 네임스페이스: PID·네트워크·마운트 등을 컨테이너별로 격리
물리 리소스를 추상화하는 가상화 개념, RAID·LVM과의 차이, 전 가상화 vs 반 가상화, 그리고 호스트·컨테이너·하이퍼바이저 가상화의 특징과 활용 사례를 비교한다.
→ 상세 보기
Docker의 동작 원리(cgroups·네임스페이스·OverlayFS), Dockerfile 문법과 이미지 빌드 과정, Docker Compose를 이용한 멀티 컨테이너 서비스 구성 방법을 정리한다.
→ 상세 보기