-
OCI와 CRI의 등장과 그 이후컨테이너 기술/OCI와 CRI 2022. 8. 9. 14:11반응형
1.OCI(Open Container Initiative)와 CRI(Container Runtime Interface)의 등장
초기 Docker Engin에는 API, 네트워크, 스토리지, CLI등 많은 기능이 하나의 패키지에 담겨있었습니다. 그래서 여러 불편함이 생겼습니다. Docker는 이것을 해결하기 위해 Monolithic한 구조를 나누는 작업을 시작했고
코어OS는 Docker와 다른 규격으로 표준화를 추진하려 했습니다.
이러한 문제를 해결하기 위해 2015년 5월 Docker, 코어OS, AWS, 구글, 마이크로소프트, IBM 등 주요 플랫폼 벤더들은 애플리케이션의 이식성 관점에서 컨테이너 포맷과 런타임에 대한 개방형 업계 표준을 만들기 위해 OCI(Open Container Initiative)를 구성했습니다.
그 이후 컨테이너를 관리할 수 있는 프로그램이 Docker 외에도 containerd, CRI-O, Kata Containers등 여러 프로그램이 나왔습니다.
그리고 Kubernetes에서는 kubelet과 컨테이너 런타임 사이의 통신을 해주는 CRI(Container Runtime Interface)를 제공함으로써 Docker 버전과 무관하게 OCI 표준을 준수하기만 하면 어떤 컨테이너 이미지도 Kubernetes에서 실행가능한 환경이 만들어지게 되었습니다.
2. OCI(Open Container Initiative)와 CRI(Container Runtime Interface)의 등장 이후컨테이너를 실행할 때 무거운 Docker Engine이 아닌 containerd나 CRI-O와 같은 가벼운 Container Runtime을 사용하게 되면서
출처 : https://www.linkedin.com/pulse/containerd%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%99%9C-%EC%A4%91%EC%9A%94%ED%95%A0%EA%B9%8C-sean-lee/?originalSubdomain=kr 기존 도커를 사용할 때보다 containerd로의 전환시 Pod은 더 빨리 시작되고, CPU와 메모리의 사용량은 더 줄게 되었습니다.
3. 2021년 하반기 kubernetes 1.23과 함께 Container Runtime으로써의 Docker의 지원이 중단결정Kubernetes에서 Dockershim이 권장되지 않는다는 결정이였습니다. 그래서 추가적인 레이어를 제거하고 직접적으로 CRI를 사용하면 관리하여 더욱 깔끔하게 관리할 수 있게 됐습니다.(CRI를 지원하는 containderd 또는 CRI-O를 사용하면 됩니다.)
출처 : https://subicura.com/k8s/2020/12/19/deprecate-docker/
출처
https://subicura.com/k8s/2020/12/19/deprecate-docker/
https://www.linkedin.com/pulse/containerd%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%99%9C-%EC%A4%91%EC%9A%94%ED%95%A0%EA%B9%8C-sean-lee/?originalSubdomain=kr
https://www.samsungsds.com/kr/insights/docker.html?referrer=https://www.098.co.kr/