본문 바로가기
자격증/CKA

CKA/ Docker + Container d

by YUNZEE 2025. 9. 1.
728x90

Container Runtime Interface (CRI)

    • CRI는 Kubernetes의 kubelet(노드 관리자)이 다양한 컨테이너 런타임(실행기)들과 통신할 수 있게 만든 공통 인터페이스(약속)임.
    • 덕분에 Kubernetes가 Docker뿐만 아니라 containerd, rkt 같은 다양한 런타임도 자유롭게 사용할 수 있음.
    • rkt도 CRI를 지원하는 대표 런타임 중 하나였음.
    • 네?
      • CRI = 만능 연결 문
      • CRI(Container Runtime Interface)는 Kubernetes(k8s)의 kubelet이 다양한 컨테이너 실행 프로그램(런타임)을 연결할 때 사용하는 약속된 통신 창구(문)
      • 컨테이너디(containerd), rkt, cri-o 같은 런타임들은 CRI 표준을 따라 만들어져 있어서 k8s와 직접 쉽게 연결 가능
    • crictl
      • crictl은 CRI를 사용하는 컨테이너 런타임(예: containerd, cri-o)을 직접 다루는 명령줄 도구임.
      • Kubernetes 환경에서 컨테이너와 이미지, Pod 상태 등을 확인하거나 조작할 때 주로 사용함.
    • Docker vs crictl
      • Docker는 개발자가 컨테이너를 만들고 실행하는 가장 널리 쓰이는 플랫폼이자 도구임. 직접 애플리케이션을 이미지로 만들고 배포할 수 있음.
      • crictl은 Kubernetes가 내부적으로 사용하는 CRI 호환 런타임을 직접 다루는 데 최적화된 명령줄 도구로, Pod 관리와 상태 확인이 중심.
      • Docker 명령은 docker 데몬과 직접 통신하지만, crictl은 kubelet/CRI가 관리하는 containerd·cri-o 데몬과 직접 통신하는 구조임.
      • Kubernetes 최신 버전에서는 원칙적으로 Docker 대신 containerd 등 OCI 호환 런타임을 권장하고, 이때 crictl을 많이 활용함.

Open Container Initiative (OCI)

  • OCI는 컨테이너와 관련된 기술(이미지 형식, 런타임 방식)을 표준화하려는 글로벌 오픈소스 단체임.
  • Docker가 사실상의 표준이었지만, 모든 컨테이너 분야에서 기업과 개발자가 똑같은 규칙을 따를 수 있게 만든 것이 OCI 표준.
  • OCI 덕분에 다양한 컨테이너 실행기와 이미지가 서로 호환되며, "도커 컨테이너"라는 용어가 실제론 "OCI 호환 컨테이너"를 의미하게 됨
  • 네?
    • OCI(Open Container Initiative)는 컨테이너 이미지와 실행방식에 대한 국제 표준 설계도임.
    • Docker, containerd 등은 OCI 표준(이미지 포맷, 런타임 방식)에 맞춰서 만들어져 있어. 즉, 모두 동일 규칙 따라서 호환성 확보.

containerd와 관련 명령어 (ctr, nerdctl)

  • containerd는 Docker에서 독립적으로 분리된, Kubernetes에서 널리 쓰이는 경량 컨테이너 실행기임.
  • ctr은 containerd의 개발자 및 최적화된 원시 명령줄 도구(초보자에게는 다소 어렵고, 기능이 많음).
  • nerdctl은 "Docker와 거의 똑같은 방식의 명령어 체계"로 containerd를 쉽게 다룰 수 있게 도와주는 사용자 친화적 도구임.
    • nerdctl 덕분에 Docker 명령어에 익숙한 사람도 containerd 환경에서 적응이 쉬워짐.

한줄 요약 & 연관성

  • Kubernetes는 다양한 컨테이너 실행기를 관리해야 하므로 CRI라는 표준 인터페이스를 사용하고, CRI 호환 런타임 컨테이너들은 OCI라는 국제 표준을 따라 만들어져 서로 호환됨.
  • crictl과 containerd/nerdctl/ctr은 Kubernetes 환경에서 컨테이너를 관리할 때 각각 특화된 방식을 제공하고, Docker는 개발·운영이 쉬운데, 최근 Kubernetes에서는 containerd 및 crictl/nerdctl이 점점 더 중요한 위치를 차지하고 있음.
728x90

'자격증 > CKA' 카테고리의 다른 글

CKA/ Cluster Architecture  (2) 2025.08.28