쿠버네티스/docker
1. 컨테이너와 도커의 이해
몽자비루
2024. 4. 12. 16:10
- 컨테이너를 배우는 이유
- SW 운영 플랫폼의 변경 과정
- Bare Meter
- 대용량의 bare metal에 여러개의 애플리케이션 운영 구조.
- Virtualization
- 하드웨어 가격은 싸지고 성능은 좋아지는 동시에, 시스템이 대용량을 요구함.
- bare metal 에 hyperviser (가상컴퓨터) 를 만든 뒤, 필요한 애플리케이션을 사용하는 구조로 변경
- Any Infrastructure
- Virtualization 에서 애플리케이션 서비스에서 요구하는 클라이언트 양에 따라 자유롭게 확장/축소
- bare metal 에 OS를 올린 뒤 container engine을 올림 (docker 는 container engine 중 하나)
- Bare Meter
- 컨테이너의 특징
- 애플리케이션을 동작시키는 데 필요한 환경
library, java, node.js 와 같은 플랫폼 등등...
- 애플리케이션을 동작시키는 데 필요한 환경
- 왜 리눅스에서 사용하는가?
- 리눅스 커널의 기능을 사용해야 함.
- chroot : 독립된 공간 형성
- namespace : isolate기능 지원
- cgroup : 필요한만큼의 HW 지원
- windows, macos 에서는 hyperviser 기능을 활성화 한 뒤 container 사용
- 리눅스 커널의 기능을 사용해야 함.
- SW 운영 플랫폼의 변경 과정
- 일반 프로그램과의 차이점
- 일반 프로그램 : 애플리케이션을 실행할 수 있는 환경을 준비해야 함.
- 컨테이너 : 애플리케이션을 실행할 수 있는 환경을 컨테이너 자체에 만들음.
- 사용하는 이유
- 개발자가 만든 프로그램을 어디서든 돌릴 수 있음.
- 확장/축소가 쉬워, MSA, Devops에 적합하다.
ㄴ micro service architecture
ㄴ Dev-ops - 개발 환경과 운영 환경이 다름을 극복할 수 있음
- 일반 프로그램 : 애플리케이션 확장 필요 시, OS와 함께 확장됨
- 컨테이너 : 플랫폼을 만든 뒤 컨테이너를 올린 뒤 확장/축소함