INTRO
최근 몇년간 도커, 쿠버네티스라는 용어가 자주 귀에 들리는데요.
사실 용어의 말이 어려워서 그렇지 궁극적인 목표는 귀찮음을 덜어낸다에서 시작됩니다.
어떠한 용도로 서버를 사용하고 싶은데 매번 OS를 설치하고 APP을 설치하고 설정하는 귀찮은 루틴을 반복해야되는게 귀찮다는 생각이 듭니다.
그리고 분명 VM이나 물리 서버들 중 어느 특정한 서버는 리소스가 많이 남아서 낭비하는 경우도 생길테고 말이죠..
최근에는 그를 대안으로 컨테이너라는 기술을 도입하기 시작하였습니다.
컨테이너
컨테이너란 APP을 작동시키기 위해 필요한 라이브러리, APP 등을 하나로 모아서 하나의 독립적인 공간을 사용자에게 제공하는 것을 말합니다.
배포 방식의 진화
Tranditional Deployment (전통 배포 방식)
- 물리 장비 위에 OS를 설치
- 물리 장비와의 OS 호환성을 지원해야 됨
- OS를 설치하는 번거러움이 큼
Virtualized Deployment (가상 배포 방식)
- 물리 장비위에 OS를 설치후 Hypervisor를 구축한 후 VM에 이용할 OS 설치
- 전통 배포 방식과 달리 Hypervisor를 구축한 후 VM에 OS를 설치하기 때문에 성능은 다소 좋지 않음
- EX) vSphere, RHEV, oVirt 등
Container Deployment (컨테이너 배포 방식)
- 물리 장비위에 OS를 설치후 Container Runtime을 이용해 독립적인 공간에 OS 및 서비스 배포
- 가상 배포 방식보다 성능이 좋음
- EX) Docker, Podman, Containerd
'Linux > Container' 카테고리의 다른 글
Container) 컨테이너의 격리 기술 (0) | 2021.11.14 |
---|