Cloud/Kubernetes

Kubernetes) CRI-O 란?

Adım Kim 2022. 10. 7. 18:48
학습 목표 :  CRI-O를 알아보기위해 CRI의 배경과 OCI에 대해 알아본다.

CRI (container Run-time Initiative) 배경

  • Kubernetes는 Docker를 기반으로 구성되어있다. Kubelet이 명령을 받으면, Docker runtime을 통해 container를 생성하거나 시작하는 생명주기 관리구조를 갖는다.

  • Docker 이외의 다양한 container 기술을 적용한 Kubernetes구조는 다양한 container runtime을 지원한다. 그에따라kubele의 코드를 수정하는 문제가 발생하곤 한다.

  • CRI는 해당 문제를 개선하기위해 kubelet 수정없이 다양한 container를 지원하는 kubernetes 구조를 제공하는 통일된 인터페이스 스펙이다.



OCI (Open Container Initiative) 란?

  • 컨테이너 종류가 증가함에 따라 계속 CRI을 구현해야 하는 문제가 생겨 아예 컨테이너 런타임 자체를 표준화하고자 한것이 OCI다.
  • 별도의 CRI 구현없이 container runtime을 OCI 구현체가 관리할 수 있다.
  • OCI의 CRI component는 CRI-O라는 component로 구현한다.
  • OCI 스펙을 준수하면 CRI-O를 통해 kubelet 으로부터 명령을 받을 수 있다.


CRI-O

  • CRI-O는 OCI 컨테이너 런타임으로 도커를 대체하는데 목적이 있다.
  • CRI-O는 CRI와 OCI로부터 유래된 프로젝트로, container runtime 과 image가 OCI와 호환되는것에 중점을 둔다.
  • CRI 표준 컴포넌트를 최소한 런타임으로 구현하며 쿠버네티스에서 모든 OCI 호환 런타임 및 컨테이너 이미지를 지원한다.
  • 도커가 제공하는 컨테이너 생성 및 이미지 빌드 기능은 제공하지 않는다.


참고

 

Open Container Initiative

Creating open standards around container technology - Open Container Initiative

github.com

 

GitHub - opencontainers/image-spec: OCI Image Format

OCI Image Format. Contribute to opencontainers/image-spec development by creating an account on GitHub.

github.com

 

GitHub - opencontainers/runtime-spec: OCI Runtime Specification

OCI Runtime Specification. Contribute to opencontainers/runtime-spec development by creating an account on GitHub.

github.com

 

GitHub - opencontainers/distribution-spec: OCI Distribution Specification

OCI Distribution Specification. Contribute to opencontainers/distribution-spec development by creating an account on GitHub.

github.com

 

CRI와 OCI란?

Tech Note 정보 케이시88 님이 작성하신 글입니다. 카테고리: [ Cloud Computing & MSA ] 게시됨: 07 November 2019 작성됨: 07 November 2019 최종 변경: 07 November 2019 조회수: 39183 1. CRI 기본적으로 쿠버네티스는 포드

sarc.io

 

흔들리는 도커[Docker]의 위상 - OCI와 CRI 중심으로 재편되는 컨테이너 생태계

흔들리는 도커[Docker]의 위상 - OCI와 CRI 중심으로 재편되는 컨테이너 생태계

www.samsungsds.com