피드로 돌아가기
Understanding OCI Runtimes: containerd, Shims, and the Container Lifecycle
Dev.toDev.to
DevOps

OCI 표준 기반의 Pluggable Runtime 아키텍처를 통한 컨테이너 상호운용성 확보

Understanding OCI Runtimes: containerd, Shims, and the Container Lifecycle

Beingana Jim Junior2026년 5월 7일13intermediate

Context

다양한 컨테이너 기술 파편화로 인한 환경 간 호환성 결여 및 실행 표준 부재. 특정 벤더 종속성 탈피와 일관된 패키징 방식을 위한 업계 공통 표준의 필요성 증대.

Technical Solution

  • OCI Runtime Specification 도입을 통한 이미지 언팩 후 실행 단계의 표준 규격 정의
  • Filesystem Bundle 구조(config.json 및 rootfs) 표준화를 통한 런타임 간 데이터 교환 체계 구축
  • config.json 내 Process, Root, Hooks 설정을 통한 실행 환경의 선언적 제어 구조 설계
  • containerd의 Plugin Architecture 채택으로 Runtime, Snapshotter, CRI 등의 동적 교체 가능 구조 구현
  • runc, Kata Containers, gVisor 등 목적별(격리 수준, 보안) 특화 런타임의 유연한 선택 구조 지원
  • API와 Dependency Graph 중심의 관리 계층 설계를 통한 코어 기능의 모듈화 달성

- 워크로드의 격리 수준 요구사항에 따라 runc(표준), Kata(VM 기반), gVisor(샌드박스) 중 적절한 런타임 선택 검토 - 컨테이너 실행 전후의 커스텀 로직이 필요한 경우 OCI 표준 Hook(prestart, poststart 등) 활용 가능 여부 확인 - containerd config.toml 설정을 통한 런타임 플러그인 최적화 및 커스텀 런타임 통합 방안 검토

원문 읽기