쿠버네티스–CRI–컨테이너 런타임–Docker/containerd 계층 구조를 “위에서 명령 → 아래에서 실행” 흐름으로 보기 쉽게 정리

[ Kubernetes ]
└─ kube-apiserver / scheduler / controller / etcd
└─ kubelet
│
▼
[ CRI (Container Runtime Interface) ]
│
▼
[ 고수준 컨테이너 런타임 (High-level Runtime) ]
├─ containerd (현재 쿠버네티스 기본)
└─ CRI-O (Red Hat / OpenShift)
└─ (과거) Docker + dockershim
│
▼
[ 저수준 컨테이너 런타임 (Low-level Runtime) ]
├─ runc (표준, 가장 많이 사용됨)
├─ gVisor (구글, 샌드박스 보안 강화)
└─ KataContainers (경량 VM 기반 보안 강화)
│
▼
[ Linux Kernel ]
├─ cgroups (리소스 제한: CPU/메모리 등)
└─ namespaces (격리: 네트워크, 프로세스, 파일시스템 등)