프로젝트 소개
crun은 완전히 C로 작성된 OCI(Open Container Initiative) 컨테이너 런타임으로, 빠른 속도와 낮은 메모리 사용량을 목표로 설계되었습니다. OCI 컨테이너 런타임 사양을 준수합니다. 이 프로젝트는 Go로 작성된 runc의 대안을 제공하는 것을 목표로 하며, 저수준 작업에 C를 활용하고 컨테이너 관리를 위해 외부 프로세스가 필요 없이 다른 프로그램에 내장할 수 있는 라이브러리(libcrun)를 제공합니다.
주요 기능은 다음과 같습니다:
- 고성능: crun은 runc보다 빠르고 메모리를 훨씬 적게 사용하며, 100개의 컨테이너를 순차적으로 실행하는 벤치마크에서 입증되었습니다.
- 낮은 리소스 사용량: runc에서는 실패하는 매우 빡빡한 메모리 제한(예: 512k)으로도 컨테이너를 실행할 수 있습니다.
- 라이브러리 지원: 다른 애플리케이션에 통합할 수 있도록 공유 라이브러리(libcrun)로 빌드할 수 있습니다.
- 정적 빌드: Nix를 통해 재현 가능한 정적 바이너리를 사용할 수 있으며, Ansible 역할이 설치를 자동화합니다.
- Lua 바인딩: 스크립팅을 위한 Lua 바인딩을 제공합니다.
주요 배포판(Fedora, RHEL/CentOS, Ubuntu, Alpine, Tumbleweed)별 빌드 의존성이 나열되어 있습니다. 빌드 과정은 autotools(autogen.sh, configure, make)를 사용합니다.
문서는 crun.1.md에서 확인할 수 있습니다. 릴리스는 서명되어 있으며 GPG로 검증할 수 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.