CNF Taxonomies

CNF Taxonomies는 정보를 체계적으로 분류하고 조직화하기 위해 정의된 계층적 분류 체계입니다.

runC


runC는 오픈 컨테이너 이니셔티브(OCI) 표준을 준수하는 컨테이너 런타임으로, 컨테이너를 실행하고 관리하는 저수준 도구입니다. Docker의 핵심 컴포넌트에서 분리되어 독립적인 런타임으로 발전했으며, 리눅스 커널의 cgroups와 namespace 기능을 활용하여 경량화된 컨테이너 환경을 제공합니다.

주요 특징

  • OCI 표준 준수: Open Container Initiative(OCI) 표준의 컨테이너 런타임 스펙을 준수.
  • 경량화된 런타임: 단일 바이너리로 설계되어 최소한의 리소스 사용.
  • 저수준 컨테이너 관리: 컨테이너 생성, 실행, 중지, 제거 등 핵심 작업 수행.
  • 리눅스 커널 활용: cgroups와 namespaces를 사용하여 프로세스 격리, 리소스 제한, 네트워크 격리 지원.
  • 유연한 통합: Docker, Kubernetes, containerd 등 다양한 플랫폼과 통합 가능.
  • 보안 기능: AppArmor, seccomp, SELinux 등 리눅스 보안 메커니즘을 지원.

장점

  • 경량성: 단순한 설계로 빠른 실행과 최소한의 오버헤드 제공.
  • 표준화: OCI 표준을 준수하여 컨테이너 이미지 및 런타임의 상호운용성 보장.
  • 유연성: 다양한 상위 도구(containerd, Kubernetes 등)와의 호환성.
  • 확장 가능성: 컨테이너 런타임의 핵심 구성요소로 쉽게 통합 가능.
  • 안정성: Docker에서 검증된 기술을 바탕으로 높은 신뢰성을 제공.

관련 용어

  • Docker: 초기 runC 기술이 포함된 컨테이너 플랫폼.
  • OCI (Open Container Initiative): 컨테이너 이미지 및 런타임 표준을 정의하는 조직.
  • containerd: Docker에서 분리된 고수준 컨테이너 관리 도구로 runC를 런타임으로 사용.
  • cgroups: 프로세스의 리소스 사용을 제한 및 격리하는 리눅스 커널 기능.
  • namespace: 프로세스의 네트워크, 파일 시스템, PID 등의 격리를 제공하는 리눅스 커널 기능.

주요 솔루션 및 사용 사례

  • containerd: 컨테이너 관리에 runC를 런타임으로 사용.
  • Docker: 초기 버전에서 runC를 런타임으로 활용.
  • Kubernetes: CRI(Container Runtime Interface)를 통해 runC 기반 컨테이너 런타임 지원.
  • 사용 사례 : 컨테이너 실행 및 프로세스 격리, Kubernetes의 노드에서 컨테이너 런타임으로 사용, 경량화된 컨테이너 관리 도구 개발

Go to Top