본문 바로가기
IT Knowledge/Kubernetes

Kubernetes, Docker 지원중단(Deprecation) 발표 12.02

by Seok. 2020. 12. 22.
반응형

Kubernetes v1.20 릴리즈의 일부분으로 Dockershim 지원중단 발표.

 

 

Docker 이상 지원하지 않는가?

Kubernetes에서는 유지관리의 부담을 줄이고, 다양한 컨테이너 런타임의 원활한 상호 운용을 위해서 'CRI 표준' 사용할 것이다.

Docker 컨테이너 런타임 인터페이스인 CRI 준수하지 않습니다.

따라서, 사용자는 컨테이너 런타임을 Docker에서 지원되는 다른 컨테이너 런타임으로 변경하기만 하면 됩니다.

 

 

해야할

Docker 런타임 지원이 향후 v1.22 이후 제거되면 더 이상 지원하지 않으므로,

containerd or CRI-O 같은 다른 컨테이너 런타임 하나로 전환해야 합니다.

 

 

언제부터 지원 중단 예정인가?

Dockershim 없는 가장 빠른 릴리즈는 2021년 후반에 kubernetes v.1.23 될것입니다.

V1.22 이전에는 제거 되지 않습니다.

V1.20 에서는 Docker 대한 지원 중단 경고가 표시 됩니다.

 

 

기존 Docker 이미지에 대한 영향

없습니다. 'docker build' 통해서 생성된 이미지는 여전히 CRI환경에서 동작합니다.

 

 

Docker 이제 못쓰는 것인가?

Docker 생성한 이미지는 여전히 모든 런타임을 사용해서 계속 작동합니다.

Docker 이상 개발 도구로 사용하지 못한다는 의미가 아닙니다.

 

 

기존 Docker 유지관리의 부담이 있었나?

현재 Docker(일명 Dockershim) CRI kubelet 코드의 일부이면서, kubelet 밀접하게 결합되어 있다.

이러한 종속성은 컨테이너 런타임에 중요한 문제(ex. CVE취약점) 발생하였을 , 클러스터 관리자에게 유지 관리 부담을 가져올 있기 때문이다.

 

 

개발자에게 이번 발표의 의미는 무엇인가?

여전히 Docker 구축하고 dockerfile 작성해도 됩니까?

Docker 변경사항이 발표되기 전와 마찬가지로 유용합니다.

Docker 생성하는 이미지는 실제로 Docker 관련 이미지가 아니라, OCI(Open Container Initiative) 이미지 입니다.

빌드하는데 사용하는 도구와 상관없이 OCI호환 이미지는 Kubernetes에서 모두 동일하게 보입니다.

따라서, Containerd CRI-O에서는 모두 해당 이미지를 가져와서 실행할 있습니다.

이것이 컨테이너가 어떤 모습이어야 하는지, 표준이 있어야 하는 이유 입니다.

 


 

기타 정보.

다른 '컨테이너 런타임' 사용하는 레퍼런스가 있습니까?

  • OpenShift 4.x 2019 6월부터 CRI-O 런타임을 사용하고 있습니다.

용어

CRI(Container Runtime Interface) : Docker 마찬가지로 '컨테이너 런타임'중에 하나로 kubelet 재컴파일  

                                             필요 없이 다양한 컨테이너 런타임을 사용할  있게 해주는 플러그인 인터페이스 

컨테이너 런타임                       : 컨테이너 이미지를 가져와서 시작하고 중지하는 소프트웨어

 

 

참고문헌

공지 : https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/

 

Don't Panic: Kubernetes and Docker

Authors: Jorge Castro, Duffie Cooley, Kat Cosgrove, Justin Garrison, Noah Kantrowitz, Bob Killen, Rey Lejano, Dan “POP” Papandrea, Jeffrey Sica, Davanum “Dims” Srinivas Kubernetes is deprecating Docker as a container runtime after v1.20. You do not

kubernetes.io

지원중단 : https://kubernetes.io/blog/2020/12/02/dockershim-faq/

CRI 소개 : https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes/

Dockershim문제점 : https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1985-remove-dockershim

반응형

댓글