- 도커란 '컨테이너 기반의 오픈소스 가상화 플랫폼'입니다.
컨테이너란?
'애플리케이션과 애플리케이션을 구동하는 환경을 host OS로 부터 격리한 공간을 의미합니다.
컨테이너는 보통 마이크로서비스로 사용됩니다.
(장점)
(단점)
(장점)
(단점)
컨테이너는 독립적이고, 동적이다.
- 도커를 이용해서 java 앱의 트래픽이 많아지면 java 컨테이너의 수를 늘리고 또 다른 경우엔 줄일 수가 있습니다.
- 또 하나의 서버에서 각기 다른 환경의 컨테이너를 설정가능하고 이컨테이너들은 각각 분리, 독립되기에 효율적입니다.
쿠버네티스는 '컨테이너 오케스트레이션 툴' 입니다.
다수의 컨테이너 실행을 관리 및 조율하는 시스템
만약 1만명의 유저가 접속하지만, 당신의 웹/앱은 준비가 되지 않았을 경우
쿠버네티스는 해당 웹사이트의 니즈를 수용할 수 있도록
자동으로 새로운 컨테이너들을 만들 수 있습니다.
또한, 니즈가 줄어들면 컨테이너의 숫자를, 지정해둔 최소 숫자로
자동으로 조절합니다.
이전에는 수동으로 했던 작업들을 쿠버네티스가 자동으로 도와주는 것입니다.
기업에서는, 서버 업데이트를 위해서 사용자들이 잠든 새벽 시간을 활용하거나, 긴급 점검의 형태로 서비스를 일시 중단해왔습니다.
하지만, 쿠버네티스는 점진적 업데이트를 제공하기 때문에, 서비스를 중단하지 않고도 애플리케이션을 업데이트할 수 있습니다.
고객이 A사의 클라우드를 사용하다가 I사의 클라우드로 환경을 이전하고 싶을 때,서로 다른 업체(Vendor)의 클라우드 제품 간에 호환 문제가 발생하여 이전하기 어려운 상황을 Vendor Lock In 이라고 합니다.
쿠버네티스는 도커 컨테이너를 기반으로 하는 오픈소스이기 때문에, 사용자들이 특정 업체에 종속되지 않고 클라우드의 환경들을 이전할 수 있습니다.
또한, 한 번 쿠버네티스를 익히면 provider 회사에 상관없이 공통된 마이크로서비스 아키텍쳐 개발이 가능합니다.
도커는 '한개의 컨테이너를 관리'하는데 최적화 되어있다.
쿠버네티스는 '여러개의 컨테이너를, 서비스 단위로 관리'하는데 최적화 되어있다.
-> 0월 0시에, 100개의 컨테이너를 자동으로 생성해야지! => 쿠버네티스
즉, 도커는 ’이미지를, 컨테이너에 띄우고 실행하는 기술’이고
쿠버네티스는 '도커를 관리하는 툴'이라고 생각하시면 됩니다.