💡 도커와 쿠버네티스 예시 :
컨테이너 하나 띄워서 사용해야지 => 도커를 쓰자
0월 0시에 100개의 컨테이너를 자동으로 생성해야지 => 쿠버네티스를 쓰면 된다.
쿠버네티스란? 여러 컨테이너를 관리/예약하는 도구
도커란? 여러 컨테이너를 관리/예약하는 플랫폼
그런데 둘이 뭐가 다를까?
간단히 얘기해서 도커는 '기술적인 개념이자 도구'이고 쿠버네티스는 '도커를 관리하는 툴'이라고 생각하면 된다.
이미지를 컨테이너에 띄우고 실행하는 기술이 도커고
이런 도커를 기반으로 컨테이너를 관리하는 서비스가 쿠버네티스라고 생각하면 된다.
도커는 '한 개의 컨테이너'를 관리하는 데 최적, 쿠버네티스는 '여러 개의 컨테이너'를 서비스 단위로 관리하는 데 최적화되어있다.
도커
도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼'이다.
기술적인 개념이다. 도커로 컨테이너를 띄운다.
컨테이너
컨테이너: 애플리케이션 & 애플리케이션을 구동하는 환경을 격리한 공간.
컨테이너에 프로그램을 띄워서 돌린다고 생각하면 된다.
서버에 컨테이너를 올려 쓰는데, 그동안 VM을 올려 쓰던 서버와 뭐가 다른가?
그동안의 가상머신(VM)을 올려 쓰던 서버와 다른 점:
서버- Hypervisor위에 VM들을 올리기 vs 서버- Host OS - Docker Engine - Container들 올리기
자원을 필요한 만큼 격리하여 컨테이너에 할당 (= 운영체제와 자원 공유) => 효율적! 배포가 빠름! but 컨테이너 하나가 쳐묵쳐묵하면 장애 발생.
기존 vm은 가상머신의 모든 자원을 사용하던것
쿠버네티스
쿠버네티스는 '컨테이너 오케스트레이션 툴'이다.
다른 컨테이너 오케스트레이션 툴로는 '도커 스웜', 'ECS', 'Nomad'등이 있다.
* 오케스트레이션이란? 컨테이너를 스케줄링/ 클러스터링/ 서비스 디스커버리/ 로깅 및 모니터링 하는 것
쿠버네티스 특징 :
점진적 업데이트 제공 -> 서비스 중단 없이 업데이트 가능
특정 컨테이너가 죽었다면 즉각 그 컨테이너를 복제 생성해서 서비스를 유지한다. (= self healing)
마이크로서비스
거대한 어플리케이션을 기능별로 나누어 변경/조합이 가능하게 한 것
컨테이너를 사용하면 하나의 큰 어플을 서비스 단위로 잘라 빠르게 배포 가능.
그리고 각각 분리해서 쓰니 변경사항이 분리된 다른 기능들에 영향 미치지 않음.
클래스 분리하는거랑 비슷한 개념인가보다.
참고
배달의민족:: 쿠버네티스를 이용해 테스팅 환경 구현해보기
IBM:: 컨테이너와 쿠버네티스 쉽게 이해하기 - 좋음
매모
출처: https://conservative-vector.tistory.com/entry/쿠버네티스와-도커의-차이 [에움길]
'IT기술 관련 > 기타 기술' 카테고리의 다른 글
온라인에 무료로 공개된 프로그래밍 관련 도서 모음 v5 (0) | 2021.06.09 |
---|---|
스케일업 vs 스케일아웃 차이는?? (0) | 2020.08.14 |
가장 빨리 만나는 docker (0) | 2019.10.17 |
애드센스 기본 용어 정리 (CPC, 페이지 RPM, 노출 RPM, 노출 CTR, 페이지 CTR 등) (0) | 2019.09.18 |
JIRA Agile 용어 모음 (0) | 2019.06.05 |