k8s 使用Docker和Containerd对比分析

目录

[k8s 使用Docker和Containerd对比分析](#k8s 使用Docker和Containerd对比分析)

[互动1:docker build构建的镜像和containerd镜像通用吗?](#互动1:docker build构建的镜像和containerd镜像通用吗?)

互动2:k8s1.24之前版本和1.24及1.24之后版本区别?


k8s 使用Docker和Containerd对比分析

如果你使用Docker作为K8S容器运行时的话,kubelet需要先要通过dockershim去调用Docker,再通过Docker去调用containerd。

如果你使用containerd作为K8S容器运行时的话, kubelet可以直接调用containerd。 使用containerd不仅性能提高了(调用链变短了),而且资源占用也会变小(Docker不是一个纯粹的容器运行时,具有大量其他功能)。

调用链如下:

Docker 作为 k8s 容器运行时,调用关系如下: kubelet --> docker shim (在 kubelet 进程中) --> dockerd --> containerd

Containerd 作为 k8s 容器运行时,调用关系如下: kubelet --> cri plugin(在 containerd 进程中) --> containerd

互动1:docker build构建的镜像和containerd镜像通用吗?

答:通用的,docker save -o 生成的镜像文件,可以基于ctr --n=k8s.io images import 导出来 [root@xianchaomaster1 ~]# docker save -o centos centos:latest

root@xianchaomaster1 \~\]# ctr -n=k8s.io images import centos #### **互动2:k8s1.24之前版本和1.24及1.24之后版本区别?** 答:K8s1.24之前版本大多数在用docker作为容器,K8s1.24之后版本大多数在用containerd作为容器 如果k8s用docker做容器运行时,需要用docker pull 拉取镜像,如果k8s用containerd做容器运行时,需要用ctr --n=k8s.io images pull 拉取镜像

相关推荐
ICT董老师1 分钟前
在Ubuntu 22.04上使用GitLab和Jenkins部署CI/CD的完整过程
ubuntu·ci/cd·kubernetes·gitlab·jenkins
2501_940414087 分钟前
我用这套云原生工作流,把上线时间从1天压到3分钟
云原生
鲨莎分不晴8 分钟前
云计算技术架构与原理深度解析:从虚拟化到云原生的演进之路
云原生·架构·云计算
战南诚9 分钟前
docker拉取nginx镜像失败(m4/arm64架构)
docker
ζั͡山 ั͡有扶苏 ั͡✾10 分钟前
K8s 集群内存压力检测和智能 Pod 驱逐工具
云原生·容器·kubernetes
腾讯数据架构师12 分钟前
k8s兼容昆仑芯p800
人工智能·云原生·容器·kubernetes·cube-studio·昆仑芯
testpassportcn28 分钟前
AWS Certified AI Practitioner(AIF-C01)認證介紹
人工智能·云计算·aws
阿杰 AJie33 分钟前
Docker 常用指令和使用方法
docker·容器·eureka
风一样的男子&39 分钟前
kylin桌面版v10安装docker和k8s
docker·kubernetes·kylin