Devops/Docker

[Docker] Docker와 Kubernetes 비교

ellapk 2024. 7. 10. 23:28

[Kubernetes와 도커의 차이점]

 

도커

  • 전통적인 방식보다 더 빠르게 애플리케이션을 구축, 테스트 및 배포할 수 있도록 도와주는 컨테이너 런타임 기술
  • 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있음. Kubernetes는 컨테이너 시스템을 확장하여 대규모로 컨테이너를 관리, 조정 및 예약할 수 있는 컨테이너 오케스트레이션 도구

 

쿠버네티스

  • Kubernetes는 컨테이너 시스템을 확장하여 대규모로 컨테이너를 관리, 조정 및 예약할 수 있는 컨테이너를 오케스트레이션 도구
  • 컨테이너를 분산 배치, 상태관리 및 컨테이너의 구동환경까지 관리

 

역할

  • 자동화된 복구: 컨테이너를 모니터링 하면서 컨테이너가 죽는 즉시 쿠버네티스는 그것을 빠르게 재시작
  • 로드 밸런싱: 서비스 웹사이트의 니즈에 따라 컨테이너의 숫자를 자동으로 조절
  • 무중단 : 점진적 업데이트를 통해 서비스를 중단하지 않고도 서비스 업데이트
  • 호환성 : 서로 다른 클라우드 사이의 호환성 문제를 해결하여 사용자들이 종속되는 일 없이 환경을 이전할 수 있게 함

 

*오케스트레이션 이란?
여러개의 컴퓨터 시스템, 애플리케이션 또는 서비스를 조율하고 관리하는 것으로, 여러개의 작업을 함께 연결하여 크기가 큰 워크 플로우나 프로세스를 실행하는 방식을 뜻한다.
이러한 프로세스 여러개의 자동화된 작업으로 구성될 수 있으며 관련되는 시스템도 여러개 일 수 있다.

*목표
빈도가 높고 반복할 수 있는 프로세스의 실행을 간소화 및 최적화여 복잡한 작업과 워크플로우를 간편하게 관리하도록 돕는 것 이다.

 

 

 

 

 

 


 

[예전 배포 방식과 컨테이너 배포 방식 차이]

 

 

(1) Traditional Deployment

물리적인 컴퓨터 한대에 하나의 OS를 깔고 여러 프로그램을 설치하는 방식

 

 

 

(2) Virtualized Deployment

더이상 한대의 컴퓨터로 처리하기 힘들어졌을 때, 가상 머신에 CPU, 메모리, 저장장치 등 개별적으로 할당해서 실존하진 않지만 여분의 추가 가상 컴퓨터 처럼 사용

 

 

(3) Container Deployment

  • 컨테이너는 가상머신과 달리 프로그램 구동을 위해 OS를 각각 일일히 설치 할 필요가 없다.
  • OS 는 하나만 사용함

 

 

 

 

 

 

 

 

 

참고)

https://joyhong-91.tistory.com/50