Docker와 Kubernetes

박상민·2024년 3월 20일

Infra

목록 보기
2/7
post-thumbnail

Docker와 Kubernetes 비교

Docker

응용 프로그램 환경의 격리, 다양한 환경에서 일관된 실행(호스트 운영 체제나 환경에 관계없이 일관된 방식으로 실행)

  • 컨테이너 기반의 오픈소스 가상화 플랫폼

  • 장점

    • 독립적인 개발 환경을 보장한다.

      • 서버를 처음에 할당받아 설정할 때 OS, 라이브러리, 컴파일러, 패키지 등 많은 설정이 요구된다.
      • 이에 따라 버전이 변경되고 업데이트 될 때마다 다시 재설정이 필요하다.
      • 이때 서버 설정에 대한 부분을 도커 컨테이너 위에서 진행한다면, 도커 컨테이너에 여러 소프트웨어를 설치하고, 설정 파일을 수정해도 호스트 OS에는 전혀 영향을 주지 않는다.
    • 개발/운영 환경의 통합
      - 만약 개발 시에 컨테이너 내부에 작업 후에 배포하려고 한다면, 이 내부 작업을 '도커 이미지'라고 하는 일종의 패키지로 만들어 배포 서버에 전달한다.

      이 프로세스를 거치면 배포 서버, 개발 서버 모두 동일한 환경에서 애플리케이션 운영이 가능해진다.

정리

통합되고 일관된 방식으로 애플리케이션을 패키징, 배포 및 실행할 수 있으므로 애플리케이션이 어디에 구축되어 있든 동일한 방식으로 작동할 수 있다.

도커와 쿠버네티스 비교

  • 컨테이너를 하나만 띄어서 사용해야지 -> 도커
  • 0월 0시에 100개의 컨테이너를 자동으로 생성해야지 -> 쿠버네티스

즉, 도커는 '이미지를, 컨테이너에 띄우고 실행하는 기술'이고

쿠버네티스를 '도커를 관리하는 툴'이라고 생각하면 된다. -> 하지만 이제 쿠버네티스는 도커를 지원하지 않는다.

  • 따라서 도커는 '한 개의 컨테이너를 관리'하는 데 최적화 되어있고
  • 쿠버네티스는 '여러 개의 컨테이너를, 서비스 단위로 관리'하는 데 최적화 되어있다.

0개의 댓글