티스토리 뷰

반응형

https://www.dreamstime.com/photos-images/kubernetes.html

1. Kubernetes와 Docker Engine의 초기 버전

초기 버전의 Kubernetes는 특정 컨테이너 런타임인 Docker Engine과만 호환되었습니다.
그러나 업데이트된 Kubernetes는 다른 컨테이너 런타임과도 호환되도록 설계되어 있으며, CRI라는 인터페이스를 도입하여 사용자가 선택한 컨테이너 런타임을 사용할 수 있도록 지원합니다.

 

2. CRI의 등장

CRI는 다른 컨테이너 런타임을 사용하기 위한 인터페이스를 제공합니다.
CRI는 Kubernetes에 출시되었지만, Docker의 업데이트 속도가 CRI보다 빨랐기 때문에 Docker는 CRI와 호환되지 않았습니다. 이 문제를 해결하기 위해 Docker와 CRI를 호환되도록 만드는 도구인 Dockershim을 도입하게 되었습니다.

 

https://www.dreamstime.com/devops-concept-stack-containers-cloud-fly-illustration-software-infrastructure-architecture-image236300081

3. Dockershim의 등장

Dockershim은 Kubernetes에서 Docker를 사용할 수 있게 해주는 구성 요소입니다.

CRI를 사용하여 Kubernetes의 함수 호출을 Docker가 이해할 수 있는 API로 변환하여 컨테이너를 실행할 수 있도록 합니다. 하지만, Dockershim은 Kubernetes에서 일시적으로 사용하기 위해 개발되었기 때문에, 이제는 사용되지 않는 상황이 되었습니다.

 

4. Dockershim의 한계와 Kubernetes에서의 삭제

Dockershim은 계속해서 발전하면서 복잡해지고, 오랜 기간 사용되었기 때문에 많은 불필요한 내용이 들어가게 되었습

다. 결과적으로 유지보수가 어려워져, Dockershim은 Kubernetes 버전 1.20부터 사용되지 않는 것으로 발표되었고, 1.24

전부터는 더 이상 지원되지않게 되었습니다.

 

5. Docker와 CRI 간 상호 운용성을 위한 새로운 요소 - cri-dockerd

Dockershim을 사용하지 않는 Kubernetes는 Docker를 전혀 사용하지 않는 것과 같습니다. 그러나 많은 사용자가 Docke

를 사용하지 못하게 된 것을 인정하면서, Docker를 사용할 수 있도록 CRI와 다른 방식으로 연결하여 cri-dockerd라는 도구를 제공합니다.

 

6. 정리

Kubernetes는 처음에는 Docker Engine만을 지원했지만, 이제는 CRI를 통해 다양한 컨테이너 런타임을 지원합니다.

Docker와 CRI의 호환성 문제로 Dockershim이 등장하여 Kubernetes에서 Docker를 사용할 수 있게 되었지만, 한계로 인해 삭제되었습니다. Docker를 사용할 수 있도록 CRI와 연결하는 cri-dockerd 도구를 제공하며, Docker를 그대로 사용할 수

있게되었습니다.

https://www.dreamstime.com/docker-kubernetes-concept-whale-made-container-containers-devops-software-operation-development-isolated-white-image235238418#_

 

참고
https://kubernetes.io/blog/2022/02/17/dockershim-faq/
Dockershim의 유래
https://kubernetes.io/blog/2022/05/03/dockershim-historical-context/
CRI란?
https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes/

Dockershim에서 cri-dockerd 전환
https://kubernetes.io/docs/tasks/administer-cluster/migrating-from-dockershim/migrate-dockershim-dockerd/

반응형
댓글