[2] 250909~ 클라우드/[b] 12월 : Terraform + Ansible

[40] Dockerd / Containerd / runc + k8s

서버관리자 페페 2026. 2. 10. 20:21

[0]

과거 dockerd에서 

ㄴ img pull

ㄴ network

ㄴ volume

ㄴ container runtime 모든걸 혼자 처리

무거움 / 확장성 낮음/ kubernetes 연동 어려움

 

-

 

[1]

그래서 분리

dockerd
   │
   ▼
containerd
   │
   ▼
runc

 

-

 

[2]

dockerd

- docker cli 요청 처리

- img build

- vol / network 관리

- API제공

- Plugin 관리

 

-

 

[3]

Containerd = 실행 관리자

- 이미지 관리

- 컨테이너 라이프사이클

- snapshot

- runtime 호출

-> K8S도 containerd 직접 사용

 

-

 

[4]

runc = 실제 실행 엔진

namespace 생성

cgroup 설정

process spawn

-> OCI 표준 런타임

 

-

 

[5]

Open Container Initiative

표준화

runtime 표준화

vendor-lock 방지

 

-

 

[6]

K8s는 docker 전체 필요x

필요한 것

- 이미지 관리

- 컨테이너 실행

Kubelet -> Containerd

직접 통신 (Dockerd 제거 가능)

 

-

 

[7]

안정성 측면에서도 

dockerd 죽어도 containerd 컨테이너 유지 가능

daemon crash 영향 감소

 

-

 

[8]

현재 클라우드 표준

 

 

플랫폼 Runtime
EKS containerd
GKE containerd
AKS containerd
ECS EC2 Docker / containerd
Fargate containerd 기반

 

-

 

[9]

과거

dockerd → container

 

지금

dockerd → containerd → runc → container