1 분 소요

4.1 도커를 알아야 하는 이유

  • 쿠버네티스를 이루는 기본 오브젝트가 파드고, 파드는 컨테이너로 이루어져 있으며, 컨테이너를 만들고 관리하는 도구가 도커 이다.

4.1.1 파드, 컨테이너, 도커, 쿠버네티스의 관계

  • 파드들은 워커 노드라는 노드 단위로 관리한다.
  • 워커 노드와 마스터 노드가 모여 쿠버네티스 클러스터가 된다.
  • 파드는 1개 이상의 컨테이너로 이루어져 있다.
  • 파드는 쿠버네티스로부터 IP를 받아 컨테이너가 외부와 통신할 수 있는 경로를 제공한다.
  • 파드는 컨테이너들이 정상적으로 작동하는지 확인하고 너트워크나 저장 공간을 서로 공유하게 한다.
  • 따라서, 컨테이너를 돌보는 것이 파드고, 파드를 돌보는 것이 쿠버네티스 워커 노드이며, 워커 노드를 돌보는 것이 쿠버네티스 마스터이다.

컨테이너는 하나의 운영 체제 안에서 커널을 공유하며 개별적인 실행 환경을 제공하는 격리된 공간이다.
개별적인 실행 환경이란 CPU, 네트워크, 메모리와 같은 시스템 자원을 독자적으로 사용하도록 할당된 환경을 말한다.

  • 도커는 컨테이너를 사용하는 방법을 명령어로 정리한 것으로 보면 된다.

4.1.2 다양한 컨테이너 관리 도구

구분
설명
컨테이너디 1. Docker사에서 컨테이너 런타임 부분을 분리하여 만든 오픈 소스 컨테이너 관리도구이다.
2. 쿠버네티스와의 통신에 필요한 컨테이너 런타임 인터페이스 규격에 맞춰 구현한 플로그인을 사용해 쿠버네티스와 통합할 수 있다.
크라이오 1. 레드햇에서 개발해 2019년 클라우드 네이티브 컴퓨팅 재단에 기부한 오픈 소스 프로젝트이다.
2. 다른 도구보다 가볍고 단순하며, 컨테이너 런타임 인터페이스 규격을 자체적으로 구현하고 있어서 별도의 구성요소나 플러그인 없이 쿠버네티스와 통합할 수 있다.
카타컨테이너 1. 오픈스택 재단에서 후원하는 오픈 소스 컨테이너 관리 도구이다.
2. 컨테이너마다 독립적인 커널을 제공한다는 점에서 기존 컨테이너 방식과 큰 차이가 있다.
3. 카타를 실행하면 개별 컨테이너를 위한 가벼운 가상 머신을 생성하고 그 위에 컨테이너가 작동한다.
4. 모든 컨테이너가 독립적인 커널을 사용하므로 다른 컨테이너의 영향을 받지 않는다.
도커 1. Docker사에서 2013년에 만든 컨테이너 관리 도구로, 컨테이너 관리 기능 외에도 컨테이너를 실행하는 데 필요한 이미지를 만들거나 공유하는 등 다양한 기능을 제공한다.
2. 사용자가 명령어를 입력하는 명령어 도구와 명령을 받아들이는 도커 데몬으로 구성 되어있다.
구분 컨테이너디 크라이오 카타 컨테이너 도커
명령어 도구 별도 지원 타 도구 사용 자체 지원 자체 지원
내부 구조 단순 매우 단순 복잡 복잡
확장성 좋음 좋지 못함 좋지 못함 매우 좋음
컨테이너 관리 좋음 좋음 좋음 매우 좋음
이미지 관리 좋음 좋음 좋음 매우 좋음
보안성 좋음 좋음 매우 좋음 좋음
자원 사용량 매우 좋음 매우 좋음 좋지 못함 좋음
정보량 적음 거의 없음 거의 없음 매우 많음