[Docker] 도커를 알아야 하는 이유
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. 사용자가 명령어를 입력하는 명령어 도구와 명령을 받아들이는 도커 데몬으로 구성 되어있다. |
구분 | 컨테이너디 | 크라이오 | 카타 컨테이너 | 도커 |
---|---|---|---|---|
명령어 도구 | 별도 지원 | 타 도구 사용 | 자체 지원 | 자체 지원 |
내부 구조 | 단순 | 매우 단순 | 복잡 | 복잡 |
확장성 | 좋음 | 좋지 못함 | 좋지 못함 | 매우 좋음 |
컨테이너 관리 | 좋음 | 좋음 | 좋음 | 매우 좋음 |
이미지 관리 | 좋음 | 좋음 | 좋음 | 매우 좋음 |
보안성 | 좋음 | 좋음 | 매우 좋음 | 좋음 |
자원 사용량 | 매우 좋음 | 매우 좋음 | 좋지 못함 | 좋음 |
정보량 | 적음 | 거의 없음 | 거의 없음 | 매우 많음 |