▶︎ Docker
도커는 컨테이너 런타임을 포함한 종합적인 컨테이너 플랫폼으로,
컨테이너 생성, 관리, 배포, 저장소 관리 등의 기능을 통합적으로 제공합니다.
▶︎ containerd
containerd
는 도커에서 분리된 컨테이너 런타임 입니다.
컨테이너 런타임은 도커의 핵심 컴포넌트 중 하나이며, 컨테이너 생애주기 관리와 이미지 관리를 담당합니다.
containerd
는 컨테이너를 시작하고 종료하는데 필요한 핵심 동작을 담당하며, 도커외 다른 컨테이너 관리 도구에서도 사용할 수 있습니다.
▶︎ k8s에서 런타임으로 사용될 때 차이
k8s의 컨테이너 런타임으로 도커를 사용하는 것과 분리된 containerd
를 사용하는 것에는 차이가 있습니다.
‣ containerd
containerd를 사용하는 경우에는 각 pods를 보는 명령어를 실행했을 때,
containerd가 중지된 상태에서도 확인이 가능합니다. (다른 삭제나 생성 등의 명령어도 정상적으로 동작합니다.)
즉, API 서버가 정상적으로 동작합니다.
kubectl stop containerd
kubectl get pods
‣ docker
하지만, 컨테이너 런타임으로 도커를 사용중이라면 도커를 중지시킨 후,
pods 명령어를 치더라도 API 서버로 명령어가 도달하지 못하기에 출력되지 않습니다.
systemctl stop docker
kubectl get pods