Container Runtime Interface (CRI)를 통해 컨테이너 런타임과 상호 작용하여 이미지와 컨테이너를 관리합니다.이미지 관련 기능 | Docker | Containerd |
로컬 이미지 목록 표시 | docker images | crictl images |
이미지 다운로드 | docker pull | crictl pull |
이미지 업로드 | docker push | 없음 |
로컬 이미지 삭제 | docker rmi | crictl rmi |
이미지 세부정보 보기 | docker inspect IMAGE-ID | crictl inspecti IMAGE-ID |
컨테이너 관련 기능 | Docker | Containerd |
컨테이너 목록 표시 | docker ps | crictl ps |
컨테이너 생성 | docker create | crictl create |
컨테이너 시작 | docker start | crictl start |
컨테이너 중지 | docker stop | crictl stop |
컨테이너 삭제 | docker rm | crictl rm |
컨테이너 세부정보 보기 | docker inspect | crictl inspect |
attach | docker attach | crictl attach |
exec | docker exec | crictl exec |
logs | docker logs | crictl logs |
stats | docker stats | crictl stats |
POD 관련 기능 | Docker | Containerd |
POD 목록 표시 | 없음 | crictl pods |
POD 세부정보 보기 | 없음 | crictl inspectp |
POD 실행 | 없음 | crictl runp |
POD 중지 | 없음 | crictl stopp |
kubelet --> docker shim (kubelet 프로세스에서) --> dockerd --> containerdkubelet --> cri plugin(containerd 프로세스에서) --> containerd[plugins.cri]stream_server_address = "127.0.0.1"stream_server_port = "0"enable_tls_streaming = false
항목 | Docker | Containerd |
스토리지 경로 | Docker는 컨테이너 로그를 /var/lib/docker/containers/$CONTAINERID와 같은 디렉터리에 저장합니다. Kubelet은 /var/log/pods 및 /var/log/containers 아래에 /var/lib/docker/containers/$CONTAINERID 디렉터리의 컨테이너 로그 파일을 가리키는 소프트 링크를 생성합니다. | Kubelet은 컨테이너 로그를 /var/log/pods/$CONTAINER_NAME 디렉터리에 저장하고 로그 파일을 가리키는 /var/log/containers 아래에 소프트 링크를 생성합니다. |
매개변수 설정 | docker 구성 파일에서 다음을 지정합니다.
| 방법1: kubelet 매개변수에 다음을 지정:
방법2: KubeletConfiguration에서 다음을 지정:
|
데이터 디스크에 컨테이너 로그 저장 | 데이터 디스크를 ‘data-root’(기본적으로 /var/lib/docker)에 마운트합니다. | 데이터 디스크 탑재 지점 아래의 디렉터리를 가리키는 소프트 링크 /var/log/pods를 만듭니다. TKE에서 ‘데이터 디스크에 컨테이너 및 이미지 저장’을 선택하면 소프트 링크 /var/log/pods가 자동으로 생성됩니다. |
항목 | Docker | Containerd |
CNI 호출을 담당하는 구성 요소 | Kubelet 내부의 docker-shim | Containerd의 내장 cri-plugin(containerd 1.1 이상) |
CNI를 구성하는 방법 | Kubelet 매개변수 --cni-bin-dir 및 --cni-conf-dir | Containerd 구성 파일(toml): [plugins.cri.cni] bin_dir = "/opt/cni/bin"conf_dir = "/etc/cni/net.d" |
피드백