본문 바로가기

쿠버네티스

[쿠버네티스] "어디서든 돌아가는 컨테이너의 비밀" 표준 규격 OCI가 중요한 이유

OCI(Open Container Initiative)

컨테이너를 이해하기 전, OCI라는 중요한 개념이 있습니다.

 

OCI(Open Container Initiative)는 컨테이너 런타임과 이미지 형식에 대한 개방형 산업 표준을 정의하는 재단입니다. 컨테이너 플랫폼과 개발사가 계속 늘어나 서로 호환성과 관리가 어려워지자, “공통 표준을 정하고 그 표준만 지키면 누구나 호환되게 하자”는 취지로 등장했습니다. 대표적으로 containerd, Podman 등 다양한 컨테이너 도구들이 OCI 표준을 따르며, 표준 준수만으로 서로 간 호환이 가능해집니다.

 

 

 

ㅁ  OCI Image Spec
컨테이너 이미지의 형식(레이어 구조, 메타데이터 등) 을 정의합니다. 덕분에 한 곳에서 빌드한 이미지를 다른 런타임에서도 그대로 실행할 수 있습니다.

ㅁ OCI Runtime Spec
이미지가 프로세스로 실행될 때의 규칙(네임스페이스, cgroups, 파일시스템, capabilities 등) 을 정의합니다. runc, crun 같은 저수준 런타임이 이 스펙을 구현합니다.


ㅁ  OCI Distribution Spec
이미지를 레지스트리로 밀고(Push) 당기는(Pull) 프로토콜을 표준화합니다. 덕분에 서로 다른 레지스트리와 클라이언트가 호환됩니다.


컨테이너는 한 플랫폼만 제대로 파도 응용 범위가 넓습니다. 핵심 개념과 작동 원리를 잡아두면 다른 도구로의 확장은 어렵지 않기 때문에 컨테이너는 꼭 필수로 이해한 상태에서 쿠버네티스 학습을 하는 것을 추천드립니다.