본문 바로가기

카테고리 없음

도커? 쿠버네티스? 컨테이너? 가상머신?

- 다양한 종류의 컨테이너가 존재하고 도커는 컨테이너 기술 중 하나이다.

 

컨테이너란?

 

- 컨테이너는 application을 실제 구동 환경으로부터 추상화 할 수 있는 논리 패키징 메커니즘을 제공.

 

 

- 위는 가상머신과 컨테이너의 구조를 나타낸다.

- 위의 그림에서 볼 수 있듯이, 컨테이너는 운영체제 수준에서 가상화를 실시하여, 다수의 컨테이너를 os커널에서 직접구동합니다.

- hypervisor는 다수의 가상머신이 하나의 물리 시스템을 공유할 수 있도록 허용, 각 가상머신은 격리된다.

- 컨테이너가 훨씬 가벼운 구조라고 할 수 있으며, 속도가 상당히 빠르며 메모리도 더욱 적게 차지합니다.

- 컨테이너를 통해, 개발자는 다른 어플리케이션과 분리된 예측 가능한 환경을 생성할 수 있습니다.

- 컨테이너는 cpu,memory,stoarge,network resource를 os수준에서 가상화하여 논리적으로 격리된 os 샌드박스 환경을 제공합니다.

- 개발자들이 논리성을 판단하는 단위가 작아지므로 속도,생산성,관리의 효율성 등이 훨씬 증가합니다.

- 가상머신은 최소 GB단위, 컨테이너 MB단위

- 컨테이너는 어느 환경에서나 구동된다.

- 컨테이너는 운영체제 커널이 하나밖에 없기때문에 OS수준의 한번의 업데이트 또는 패치작업->적용

- 즉 하나의 컴퓨터에 다수의 컨테이너를 실행하면 각각의 독립된 환경으로 가상머신을 사용하는것과 비슷(훨씬 효율적)

 

도커란?

- 리눅스 컨테이너 기술을 기반으로 하는 오픈 소스 소프트웨어 플랫폼.

- 컨테이너를 환경에 구애받지 않고 어플리케이션을 신속하게 배포 및 확장해주는 플랫폼

 

 

쿠버네티스?

- 서버를 확장->컨테이너들을 가져온다 ->가져온 컨테이너들을 어떻게 적절히 배치??

- 구글이만든 컨테이너 관리(쉽고 빠른 배포/확장,관리 자동화)를 위한 오픈소스 플랫폼

- 확장성(구글->1주일에 수십억개의 컨테이너를 운영->이를 위한 디자인->손쉬운 확장)

- 유연성

- 이식성