CS

도커와 쿠버네티스

뽀글보리 2021. 8. 31. 22:39
반응형

요약

도커와 쿠버네티스의 차이는 '컨테이너'와 '오케스트레이션'에 있다.

도커 컨테이너는 애플리케이션의 개발과 테스트 -> 프로덕션으로 이전하는 과정을 최적화한다

 

도커란?

도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 도커에서는 여러 이미지를 생성할 수 있는 데, 이 때 컨네이너 실행시에 필요한 파일 및 설정값들을 포함하게 된다.

컨테이너란 애플리케이션을 구동하는 환경을 격리한 공간이다.

어플리케이션을 기능별로 나누어 변경 가능하도록, 하나의 큰 어플리케이션을 서비스 단위로 잘라 배포 가능하다

 

컨테이너와 가상머신의 차이

가상머신에서는 OS를 가상화한다.

VMWare나 Virtualbox에서는 호스트 OS위에 Hypervisor를 사용하여 여러가지 OS를 가상화 할 수 있다.

그러나 가상머신의 방식은 성능적으로 큰 오버헤드가 있었고, 이를 개선하기 위해 '프로세스를 격리 하는 방식'인 컨테이너가 등장했다.

여러 개의 컨테이너를 실행하면 서로 독립적으로 실행되어 가벼운 VM을 사용하는 느낌을 준다.

또한 VM과 비교했을 때 새로운 컨테이너를 만드는 데에 걸리는 시간도 매우 짧고 편리하다.

 

도커의 장점

  • 빠른 개발 환경 구축
    • 도커 컨테이너를 사용하여 이미지를 만들고 개발환경을 배포하면, 균일한 개발 및 실행 환경을 만들 수 있다.
  • VM에 비해 가볍고 빠른 실행 속도
  • 공유 환경 제공
    • Docker Hub를 통해 이미 공개된 많은 이미지를 사용할 수 있다.

쿠버네티스와 컨테이너 오케스트레이션

그러나 컨테이너 수가 많아지면 관리, 운영 시에 어려워진다.

이러한 다수의 컨테이너 실행을 관리하고 조율하는 시스템을 컨테이너 오케스트레이션이라 한다. -> 쿠버네티스가 하는 역할

 

쿠버네티스의 장점

  • 지속적인 상태 확인
    • 배포된 애플리케이션 및 노드를 지속적으로 모니터링하며, 문제가 발생할 경우 다른 노드로 스케쥴링해 재구동 시켜준다. 이에 따라 자동으로 장애에 대응할 수 있게 해준다.
  • 오토스케일링
    • 특정 컨테이너가 부하될 경우 자동으로 스케일 아웃을 통해 컨테이너 수를 늘려주어 부하를 분산시켜준다. 이를 통해서 장애를 방지할 수 있으며, 필요시에만 자원을 늘리고 줄일 수 있기 때문에 비용적 측면에서 효율적이다.
반응형