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

相关推荐
落日漫游34 分钟前
K8s Service核心功能:稳定访问与负载均衡
docker·kubernetes·负载均衡
云计算老刘1 小时前
1. Cockpit 管理服务器;2. Linux 软件包管理
linux·运维·服务器·云原生·云计算
海域云SeaArea_1 小时前
ubuntu22.01安装NVIDIA-Docker
运维·docker·容器
Lucifer三思而后行2 小时前
使用 BR 备份 TiDB 到阿里云 OSS 存储
阿里云·云计算·tidb
周杰伦_Jay2 小时前
【多智能体协作】定义、机制、模式与实践全解析
人工智能·云计算
随机昵称_1234564 小时前
Linux如何从docker hub下载arm镜像
java·linux·arm开发·docker
wanhengidc5 小时前
在云手机中云计算的作用都有哪些?
服务器·网络·游戏·智能手机·云计算
ICT系统集成阿祥5 小时前
100个云计算基础知识
云计算
oneslide5 小时前
Kubernetes V1.24+ & Docker运行时 grafana容器指标显示异常
docker·kubernetes·grafana
终端行者5 小时前
k8s各种场景下排错思路以及命令 k8s常见问题故障处理思路
云原生·容器·kubernetes