← Projects

urunc

LFX Mentorship · urunc의 이미지 메타데이터 전달 경로 분석 및 shim 기능 구현

기간
2026.03 – 2026.05
역할
전달 경로 분석 · PoC · shim 구현
기술
Go · OCI · containerd
협업
메인테이너와 주간 sync 9회

유니커널과 urunc

  • 유니커널: 애플리케이션과 실행에 필요한 운영체제 기능을 하나의 실행 이미지로 묶는 방식
  • urunc: 유니커널을 기존 컨테이너 도구로 배포하고 실행할 수 있게 하는 OCI 런타임
  • OCI 이미지에 담긴 유니커널을 VMM 또는 샌드박스 모니터로 실행하고, containerd·Kubernetes와 연동

실행에 필요한 메타데이터 누락

  • 유니커널 바이너리 경로·하이퍼바이저 등 실행 정보를 OCI 이미지의 annotation에 저장
  • 조사한 containerd 실행 경로에서 이미지 annotation이 런타임 설정 파일인 config.json에 자동으로 반영되지 않는 문제 확인
  • 이미지에 저장된 실행 정보를 urunc가 읽을 수 있도록 메타데이터 전달 경로 보완 필요

shim에서 직접 조회해 실행 설정에 반영

  • containerd와 urunc를 연결하는 shim에서 컨테이너 생성 직전에 이미지 메타데이터를 직접 조회하는 방식 채택
  • containerd의 CRI·non-CRI 경로 분석 및 이미지 annotation·config label 전달 방식 비교
  • containerd 연결과 컨테이너 메타데이터 조회를 담당하는 Session 계층 구현
  • manifest annotation과 config label을 조회해 config.json의 누락 정보 보완
  • 메타데이터 적용 우선순위: 기존 실행 설정의 annotation → manifest annotation → config label

PR 2건 머지 및 조회 오버헤드 측정

  • containerd 접근 계층과 annotation 주입 기능을 각각 구현한 PR 2건 머지
  • PoC에서 annotation·label 조회 오버헤드 약 3ms 측정