개발자
데브옵스 관련 공부중인데 현직 데브옵스 분들의 의견이 궁금하여 질문합니다. 컨테이너 런타임으로 도커를 지원중단 했는데, 사실상 도커로 만든 이미지와 컨테이너는 여전히 사용 가능하고 빌드 또한 가능한거로 알고 있습니다. 컨테이너 런타임으로 containerd를 사용하면 사실상 도커의 런타임과 큰 차이가 없는거 같은데 어떤점이 많이 달라졌을 지 현직에 계신 분들 의견이 궁금합니다
답변 1
인기 답변
쿠버네티스 클러스터를 구축할 때 제외하고는 체감할만한 차이는 없다고 보시면 됩니다. 직접 구축하는게 아니라 EKS 같은 매니지드 서비스를 사용한다면 더욱 차이가 없습니다. 그 이유는 쿠버네티스가 containerd를 컨테이너 런타임으로 지원하기 때문입니다. 도커 엔진은 컨테이너 런타임 말고도 매우 기능이 많은 소프트웨어 입니다. 컨테이너에 볼륨(디스크 공간)을 주기도 하고, 컨테이너 간의 네트워크를 구성하기도 합니다. 컨테이너 런타임 외의 이러한 기능을 쿠버네티스에서 사용하지 않게 된 것입니다. 도커 파일로 컨테이너 이미지를 빌드하고 pull 받는 워크플로우에는 변하는 바가 없기 때문에 체감할만한 차이가 없습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 11월 23일
쿠버네티스가 도커 컨테이너 런타임을 지원 중단하고 이를 다른 OCI(Open Container Initiative) 표준을 준수하는 컨테이너 런타임으로 대체하는 결정을 내린 것은 맞습니다. 이로 인해 가장 크게 변한 점은 쿠버네티스 클러스터에서 도커를 직접 사용하여 이미지를 구동할 수 없게 됨입니다. 그러나, 여전히 Dockerfile을 이용해 Docker 이미지를 생성하고, 이 이미지들을 쿠버네티스에서 실행시킬 수 있습니다. 즉, 컨테이너화된 애플리케이션의 배포와 관리에 크게 영향을 미치는 변화는 없습니다. 다만, 바뀐 점으로는 Dockershim 대신 containerd 같은 다른 CRI(Container Runtime Interface)를 사용하게 되면서, 도커에 의존적인 일부 기능들이 작동하지 않게 된다는 점입니다. 예를 들면 'kubectl logs'나 'kubectl exec' 같은 명령어가 직접적으로 동작하지 않거나 제한될 수 있습니다. 그러니까 요약하자면, 쿠버네티스 사용자 입장에서 크게 달라진 점은 "직접적인 도커 의존성이 사라지고, 일부 쿠버네티스 도구가 도커에서 직접 작동하지 않게 된다"는 것입니다. 이 차이는 클러스터를 관리하는 운영자나 데브옵스 팀에게서 보다 명확하게 드러날 수 있습니다. 하지만 이미지를 만들고 배포하는 개발자의 관점에서 보면 변화는 상대적으로 적습니다. 여전히 도커 이미지를 생성하고 사용할 수 있으며, 쿠버네티스는 기본적으로 동일하게 작동합니다. 다만, Docker 대신 다른 컨테이너 런타임을 사용하여 클러스터를 설정하거나 관리해야 하는 추가적인 작업이 필요할 수 있습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!