(출처: 패스트캠퍼스 "Kubernetes와 Docker로 한 번에 끝내는 컨테이너 기반 MSA" 강의를 들으며 내용 정리한 것임을 밝힙니다)
도커와 쿠버네티스를 야기 하고자 하려면, 우선적으로 컨테이너를 언급해야 한다.
#1. 컨테이너 기술의 발전
1. 컨테이너 등장배경
1) 전통방식
[ H/W -> OS ] -> Framework -> Library => APP
- 하나의 서버에 app1, app2, app3 을 running 시킬때 framework , library 버젼등에 대한 제약이 발생하여 유연하게 사용이 어렵다
- 갖고 있는 자원을 효율적으로 사용하기는 한계가 있다.
2) 가상머신
[ H/W -> OS ] ->[ HyperVisor ]-> Framework -> Library => APP
- 가상머신을 running 하기 위한 자원 overhead 가 발생
- 전통방식에 대비 성능이 떨어짐????? why???
3) 컨테이너
1번과 2번의 단점/문제점을 해결할 수 있는 방법이 필요...좀더 효율화
[ H/W -> OS ] ->[ Container Engine(Docker) ]-> Framework -> Library => APP
- host 입장에서의 하나의 process 와 유사 (= container)
- 각 container 간 격리 (파일시스템 등) 되어 각 container 간 의존성 충돌 문제 없어짐
4) 쿠버네티스 (k8s)
Container Orchestration System
- Container Engine : 하나의 서버내에서 Container 를 어떻게 관리할 수 있을까? 하는 관리 소프트웨어
- Container Orchestration System : 여러서버들로 구성된 클러스터 환경에서 Container들 을 어떻게 하면 잘 관리할 수 있을까? 하는 관리하기 위한 기술 , 소프트웨어 를 의미
2. 컨테이너 기술 발전 흐름도
1) docker 릴리즈 : 2013.3.20
2) k8s : 2014
(계속 작성중....) not complete....