Docker、containerd、安全沙箱、社区Kata Containers运行对比

打印 上一主题 下一主题

主题 777|帖子 777|积分 2331

各人看了办理有意义、有资助记得点赞加关注!!!
containerd、安全沙箱和Docker三种运行对比。
本文通过对比三种运行时的实现和利用限制、摆设布局,资助您根据需求场景了解并选择符合的容器运行。
一、容器运行时实现和利用限制对比

特性
containerd运行时
安全沙箱运行时
Docker运行时(已停止维护)
集群类型
     

  • ACK托管集群
  • ACK专有集群
  • ACK Edge集群
     

  • ACK托管集群
  • ACK专有集群
全部集群类型
集群版本
1.31及以下版本
1.31及以下版本
1.22及以下版本
说明
建议您升级Docker运行时为containerd运行时。详细信息,请参见将节点容器运行时从Docker迁移到containerd。
节点型号
     

  • ECS
  • 用户自有节点(ACK Edge集群)
仅适用于弹性裸金属服务器实例规格
ECS
节点OS
容器服务 Kubernetes 版提供的ContainerOS、Alibaba Cloud Linux 3、Ubuntu、Windows等操作系统的公共镜像。详细信息请参见操作系统。
Alibaba Cloud Linux定制版
     

  • Alibaba Cloud Linux
  • CentOS
容器引擎
containerd
containerd
Docker
监控
支持
支持
支持
容器日记文件采集
支持
手动支持(Sidecar)
支持
容器标准输出采集
支持
支持
支持
RuntimeClass
不支持
支持(runV)
不支持
Pod调治
无需配置
配置如下:
     

  • Kubernetes 1.14.x版本中必须为nodeSelector增加以下配置。

    1. alibabacloud.com/sandboxed-container: Sandboxed-Container.runv
    复制代码
  • Kubernetes 1.16.x以及更高版本无需额外配置。
无需配置
HostNetwork
支持
不支持
支持
节点数据盘
可选
必选(不小于200 GiB)
可选
网络插件
     

  • Flannel
  • Terway(ACK Edge集群除外)
     

  • Flannel
  • terway-eniip:仅支持非IPVlan且非独占弹性网卡模式的terway-eniip。
     

  • Flannel
  • Terway
kube-proxy署理模式
     

  • iptables
  • IPVS
     

  • iptables
  • IPVS
     

  • iptables
  • IPVS
存储插件
CSI Plugin(ACK Edge集群除外)
CSI Plugin
CSI Plugin
容器RootFS
OverlayFS
配置磁盘Quota的OverlayFS
OverlayFS
说明


  • 不支持同一节点同时摆设Docker和安全沙箱两种运行时。
  • 集群内可以通过创建不同节点池来实现Docker运行时节点和安全沙箱运行时节点混淆摆设。
  • 关于Sidecar配置,请参见通过Sidecar-CRD方式采集容器文本日记。
二、运行时摆设布局对比

运行时
摆设布局
Docker

  1. kubelet
  2. └── dockerd
  3.     └── containerd
  4.         └── containerd-shim
  5.             └── runC容器
复制代码
containerd

  1. kubelet
  2. └── containerd
  3.     └── containerd-shim
  4.         └── runC容器
复制代码
安全沙箱v2

  1. kubelet
  2. ├── (CRI) containerd
  3. │   ├── containerd-shim
  4. │   │   └── runC 容器
  5. │   └── containerd-shim-runv2
  6. │       └── runV 安全沙箱容器
复制代码
三、Docker和containerd两种容器引擎常用下令对比

Docker运行时和安全沙箱运行时的容器引擎分别是Docker和containerd,各自具有独特的下令行工具来管理镜像和容器。两种容器引擎常用下令对比如下。
下令
containerd
Docker
crictl(保举)
ctr
docker
检察容器列表
crictl ps
ctr -n k8s.io c ls
docker ps
检察容器详情
crictl inspect <container>
ctr -n k8s.io c info <container>
docker inspect <container>
检察容器日记
crictl logs <container>
N/A
docker logs <container>
容器内执行下令
crictl exec <container>
N/A
docker exec <container>
挂载容器
crictl attach <container>
N/A
docker attach <container>
显示容器资源利用情况
crictl stats <container>
N/A
docker stats <container>
创建容器
crictl create <container>
ctr -n k8s.io c create <container>
docker create <container>
启动容器
crictl start <container>
ctr -n k8s.io run <container>
docker start <container>
停止容器
crictl stop <container>
N/A
docker stop <container>
删除容器
crictl rm <container>
ctr -n k8s.io c del <container>
docker rm <container>
检察镜像列表
crictl images
ctr -n k8s.io i ls <image>
docker images
检察镜像详情
crictl inspecti <image>
N/A
docker inspect <image>
拉取镜像
crictl pull <image>
ctr -n k8s.io i pull <image>
docker pull <image>
推送镜像
N/A
ctr -n k8s.io i push <image>
docker push <image>
删除镜像
crictl rmi <image>
ctr -n k8s.io i rm <image>
docker rmi <image>
检察Pod列表
crictl pods
N/A
N/A
检察Pod详情
crictl inspectp <pod name>
N/A
N/A
启动Pod
crictl runp <pod name>
N/A
N/A
停止Pod
crictl stopp <pod name>
N/A
N/A
四、ACK安全沙箱和社区Kata Containers对比

ACK安全沙箱相比社区Kata Containers,在性能上面具有较大优势,如下表所示。
性能
性能分类
ACK安全沙箱v2
社区Kata Containers
沙箱启动速率
约150ms
约500ms
沙箱额外开销


容器RootFS
virtio-fs,性能:☆☆☆☆
9pfs,性能:☆
容器存储卷
HostPath/EmptyDir
virtio-fs,性能:☆☆☆☆
云盘块存储
virtio-fs,性能:☆☆☆☆
NAS文件存储
     

  • virtio-fs(默认),性能:☆☆☆☆
  • 直挂沙箱,性能:☆☆☆☆☆
OSS对象存储
virtio-fs,性能:☆☆☆☆
网络插件
     

  • Terway:比Flannel网络性能提拔了20%~30%,支持NetworkPolicy,带宽限速等。更多特性请参见Terway网络插件。
  • Flannel:支持VPC路由。
Flannel
监控诉警
     

  • 增强了安全沙箱Pod的磁盘和网络监控指标。
  • 默认集成了阿里云云监控,可方便地配置集群的监控诉警。
缺失安全沙箱Pod的磁盘和网络监控指标。
稳固性
☆☆☆☆☆
☆☆


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表