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 拉取镜像

相关推荐
try2find17 分钟前
llama-webui docker实现界面部署
docker·容器·llama
知远同学23 分钟前
docker学习笔记2-最佳实践
运维·docker·容器
云攀登者-望正茂1 小时前
Jenkins 多分支流水线: 如何创建用于 Jenkins 状态检查的 GitHub 应用
云原生·github·jenkins
ZStack开发者社区2 小时前
替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台
云计算
weixin_307779133 小时前
实现AWS Step Function安全地请求企业内部API返回数据
开发语言·python·云计算·aws
你是我的天晴3 小时前
k8s教程4:Kubernetes中的服务发现与负载均衡
kubernetes·服务发现·负载均衡
Java后端何哥3 小时前
Docker Compose 和 Kubernetes(k8s)区别
docker·容器·kubernetes
周周的奇妙编程3 小时前
解决方案评测|告别复杂配置!基于阿里云云原生应用开发平台CAP快速部署Bolt.diy
阿里云·云原生·云计算
problc4 小时前
探索 Higress:下一代云原生 API 网关
云原生
yuzhangfeng4 小时前
【日志体系】ELK Stack与云原生日志服务
elk·云原生·云计算