컨테이너 이식성 확보를 위한 OCI

최근에는 컴퓨터 전체를 가상화하는 가상머신에 비해 오버헤드가 적은 컨테이너 기술이 주목 받고 있습니다. 가상머신과 마찬가지로 컨테이너도 컨테이너 내부에 저장되는 소프트웨어를 담고 있는 파일들을 패키징할 수 있는 포맷이 필요한데, 가상머신의 OVF에 해당하는 표준이 OCI (Open Container Initiative) 입니다.

OCI (Open Container Initiative)

OCI 는?

OCI (Open Container Initiative)는 컨테이너 포맷과 런타임에 대한 개방형 업계 표준을 만들기 위한 목적으로 Linux Foundation 의 지원으로 구성된 오픈 거버넌스 조직 (프로젝트)입니다.

OCI는 2015년 6월 22일에 Docker 사와  CoreOS 사가 각각 별도로 표준화를 진행하고 있던 컨테이너의 규격을 통일하는 것을 목적으로 Docker, CoreOS 그리고  AWS, Google, Microsoft, IBM 등 주요 플랫폼 벤더가 참여하여 2015 년 6 월에 발족 한 단체이다.

발족 당시는 컨테이너 런타임 사양의 표준화에만 초점을 맞춘 작은 프로젝트였습니다.

2 년 후인 2017 년 7 월에 컨테이너 런타임과 컨테이너 이미지의 첫 번째 표준인 “OCI v1.0 ‘을 발표했습니다.

컨테이너 표준

OCI에서 제시하는 표준 컨테이너가 만족해야할 5가지 원칙은 다음과 같다.

OCI 표준 컨테이너가 만족해야할 5가지 원칙
원칙내용
표준 동작
(Standard Operations)
• 표준 컨테이너 도구들을 이용해서 컨테이너의 생성, 시작, 정지가 가능해야 함
• 표준 파일 시스템 도구를 통해서 컨테이너의 스냅샷과 복사가 가능해야 함
• 표준 네트워크 도구들을 통해서 컨테이너의 업로드와 다운로드가 가능해야 함
내용 중립성
(Content-agnostic)
•표준 컨테이너는 컨테이너가 담고 있는 애플리케이션의 종류에 상관없이 표준 동작들이 동일하게 동작해야 함
인프라 중립성
(Infrastructure-agnostic)
•표준 컨테이너는 OCI 지원 인프라라면 종류에 상관없이 컨테이너 실행이 가능해야 함
자동화를 위한 설계(Designed
for Automation)
•표준 컨테이너는 컨테이너 내용과 인프라 종류에 상관없이 동일한 표준 동작을 지원하기
때문에 자동화가 용이함
산업 수준의 배포(Industrygrade
delivery)
•표준 컨테이너는 기업 규모에 상관없이 산업 수준의 배포가 가능해야 함

출처:클라우드 상호운용성 확보 가이드라인 Vol.2 – 한국정보통신기술협회(TTA)

Kubernetes Containerd

OCI 구성 요소 및 특징

OCI를 포함한 리눅스 파운데이션의 표준들은 소스코드처럼 github을 통해 관리되고 있으며, OCI의 주요 구성요소는 다음의 표와 같다.

OCI 표준의 주요 구성요소
구성 요소내용
image-spec컨테이너 이미지 디스크 포맷https://github.com/opencontainers/image-spec
image-toolsOCI 이미지 명세에 따라 동작하는 도구 모음https://github.com/opencontainers/image-tools
runtime-spec컨테이너의 설정 방법, 실행 환경, 라이프사이클을 명시https://github.com/opencontainers/runtime-spec
runtime-toolsOCI 런타임 명세에 따라 동작하는 도구 모음https://github.com/opencontainers/runtime-tools
runcOCI 표준에 따라 컨테이너를 생성하고 실행할 수 있는 명령형 도구https://github.com/opencontainers/runc
go-digest컨테이너 생태계에서 광범위하게 활용될 수 있는 공통 다이제스트(digest) 패키지https://github.com/opencontainers/go-digest
selinux컨테이너에 범용적으로 적용될 있는 SELinux 설정https://github.com/opencontainers/selinux

출처 :클라우드 상호운용성 확보 가이드라인 Vol.2 – 한국정보통신기술협회(TTA)

2015 년에 Docker 와 CoreOS 를 중심으로 Open Container Initiative 설립

Open Container Initiative는 2015 년 6 월에 레드햇, Docker, CoreOS, Google, IBM Red Hat, Amazon Web Services, VMware, HP, EMC, Pivotal, 마이크로소프트, The Linux Foundation 등이 주요 멤버로 설립 된 단체입니다.

당시에는 Docker가 사실상의 컨테이너 표준이었다. CoreOS는 도커와는 다른 컨테이너 규격의 표준화를 추진하려하고 있는 등 컨테이너의 에코 시스템의 미래에 대한 불안이 높은 시기 였습니다.

그런 상황에서 2016년 6 월에 개최 된 “DockerCon 2015 ‘에서 Docker과 CoreOS 등의 기업을 포함한 Open Container Initiative의 출범과 컨테이너 표준화에 대한 노력이 발표 된 것입니다.

Docker, CoreOS의 rkt, Apache Mesos, CNCF의 Kubernetes, Cloud Foundry 등이 현재 OCI에 의한 표준을 지원합니다. 기여자로는 Red Hat, Docker, CoreOS뿐만 아니라 HUAWEI의 기여가 큰 것도 주목할 만하다.

아래는 현재 OCI 회원사 리스트입니다.

컨테이너 표준

Summary
product image
Author Rating
1star1star1star1star1star
Aggregate Rating
4.5 based on 5 votes
Brand Name
OPENNARU
Product Name
KHAN [apm]