CONTAINERD – KUBERNETES 표준 컨테이너 런타임

containerd는 Docker 사에서 moby project 와 함께  발표하여  CNCF 에 기증한  오픈소스 입니다.

moby project는 Docker 사에서 2017 년에 발표 한 오픈소스 소프트웨어  프로젝트로서  Docker를  구성하는 기능들 중에 일부를 공개한 것입니다.

Containerd 는 Kubernetes 의 하이 레벨 런타임 표준인 CRI 런타임으로  현재는 CRI-O 와 함께 두 가지 구현체가 있습니다.

컨테이너 기술로 주목받은 Docker 사는 2016 년 12 월 컨테이너 런타임 부분을 독립적인 오픈 소스 프로젝트인 “containerd” 로 분리하여 마이크로 소프트, Google, AWS, IBM 등과 공동으로 개발하기로 발표하였습니다.

이것은 Docker 의해 빠르게 확산되기 시작한 컨테이너형 가상화 환경에서 컨테이너 런타임을 특정 벤더에 의존하지 않고 중립적인 입장에서 컨테이너 표준인 OCI (Open Container Initiative) 에 기준으로 구현하는 것을 목적으로 합니다.

그 3 개월 후 2017 년 3 월에는 containerd 오픈 소스 프로젝트 CNCF (Cloud Native Computing Foundation)에 기증받아 2017 년 12월 버전 1.0 을 출시하였습니다 .

 

containerd는 kebernetes 표준 컨테이너 런타임

CONTAINERD 는 ?

 

Containerd는 컨테이너를 실행하고 노드에서 이미지를 관리하는 데 필요한 최소한의 기능 세트를 제공하는 OCI 호환 코어 컨테이너 런타임 중 하나 입니다.

 

containerd는 Docker 1.11 이후 Docker 코어 컨테이너 런타임 입니다.

RunC 기반이며, 컨테이너 표준 인 OCI (Open Container Initiative)을 준수하고 있습니다.

containerd  1.1 버전은  Kubernetes를 기본적으로 지원하여, Containerd는 사실상 표준 컨테이너 런타임이라고 할 수 있습니다.

또한 OpenStack Foundation 에서 오픈 소스로 개발하고있는 컨테이너 런타임 “Kata Container” 과 Google은 오픈 소스로 공개 한 ‘gVisor ” 등 다양한 옵션이  등장하고 있습니다.

 

KUBERNETES 와 CONTAINERD 통합 아키텍처의 발전

일반적으로 Kubernetes로 구축하는 클러스터에서는 Docker를 이용하여 컨테이너를 실행합니다.

이때 Kubernetes과 Docker 사이에서는 Kubernetes에서 표준화 된 API 인 CRI (Container Runtime Interface) 에 의해 교환이 이루어집니다.

그러나 Docker는 현재 CRI를 기본적으로는 지원하지 않기 때문에 Kubernets과 Docker는 “dockershim”라는 다리를 통해 교환이 이루어지고 있습니다.

2017 년 12 월 CNCF에서 버전 1.0에 도달 한 containerd는 kubelet과 containerd사이에서 작동하려면 cri-containerd라는 데몬이 필요했습니다.

Cri-containerd 는 Kubelet의 CRI (Container Runtime Interface) 서비스 요청을 처리하고 containerd를 사용하여 해당 컨테이너 및 컨테이너 이미지를 관리합니다.

containerd1.1에서는 cri-containerd 데몬이 이제 containerd CRI 플러그인으로 리팩터링됩니다.

CRI 플러그인은 containerd1.1에 내장되어 있으며 기본적으로 활성화되어 있습니다.

cri-containerd와 달리 CRI 플러그인은 직접 함수 호출을 통해 containerd와 상호 작용합니다.

사용자는 이제 containerd1.1과 함께 Kubernetes를 직접 사용할 수 있습니다.

cri-containerd 데몬은 더 이상 필요하지 않습니다.

 

CLOUD NATIVE COMPUTING FOUNDATION 는?

2015 년 7 월에 발표된 2016 년 1 월에 정식 출범 한 Cloud Native Computing Foundation (이하 CNCF)는 혼돈스러운 컨테이너와 관련된 다양한 기술적인 문제들을 오픈소스로 해결하는 하는 것을 목표로하고 있습니다.

Cloud Native Computing Foundation 는 대표적으로 Kubernetes 와 Prometheus 와 같은 클라우드 네이티브 오픈소스 기술들을 추진하고 관리하는 단체입니다.

 

원문 : http://www.opennaru.com/kubernetes/containerd/

 

+ Recent posts