当前位置: 首页 > news >正文

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

大家看了解决有意义、有帮助记得点赞加关注!!!

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增加以下配置。

    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

kubelet
└── dockerd└── containerd└── containerd-shim└── runC容器

containerd

kubelet
└── containerd└── containerd-shim└── runC容器

安全沙箱v2

kubelet
├── (CRI) containerd
│   ├── containerd-shim
│   │   └── runC 容器
│   └── containerd-shim-runv2
│       └── 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的磁盘和网络监控指标。

稳定性

☆☆☆☆☆

☆☆

相关文章:

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

大家看了解决有意义、有帮助记得点赞加关注&#xff01;&#xff01;&#xff01; containerd、安全沙箱和Docker三种运行对比。 本文通过对比三种运行时的实现和使用限制、部署结构&#xff0c;帮助您根据需求场景了解并选择合适的容器运行。 一、容器运行时实现和使用限制…...

使用npm包的工程如何引入mapboxgl-enhance/maplibre-gl-enhance扩展包

作者&#xff1a;刘大 前言 在使用iClient for MapboxGL/MapLibreGL项目开发中&#xff0c;往往会对接非EPSG:3857坐标系的地图&#xff0c;由于默认不支持&#xff0c;因此需引入mapboxgl-enhance/maplibre-gl-enhance扩展包。 在使用Vue等其他框架&#xff0c;通过npm包下载…...

【NIFI】实现ORACLE->ORACLE数据同步

【NIFI】实现ORACLE->ORACLE数据同步 需求 使用nifi实现 oracle->oracle 不同数据库之间的数据同步&#xff0c; 如果想实现 oracle->oracle技术有很多&#xff0c;例如使用oracle golden gate或者是kettle等&#xff0c;或者是使用oralce的dblink技术也能实现。当让…...

单例模式的写法

单例模式&#xff08;Singleton Pattern&#xff09;是一种设计模式&#xff0c;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。常用于管理共享资源&#xff08;如数据库连接、配置文件、线程池等&#xff09;。在实际编码中&#xff0c;有多种实现单例模式的方法&…...

Selenium实践总结

1.使用显示等待而不是隐式等待 隐式等待可能会导致不可预测的测试行为&#xff0c;尤其是在动态 Web 应用程序中。显式等待&#xff0c;它允许您 等待特定条件发生后再继续测试&#xff0c;这种方法提供了更多的控制和可靠性。 WebDriverWait wait new WebDriverWait(drive…...

Python数据可视化小项目

英雄联盟S14世界赛选手数据可视化 由于本学期有一门数据可视化课程&#xff0c;课程结课作业要求完成一个数据可视化的小Demo&#xff0c;于是便有了这个小项目&#xff0c;课程老师要求比较简单&#xff0c;只要求熟练运用可视化工具展示数据&#xff0c;并不要求数据来源&am…...

Python毕业设计选题:基于python的白酒数据推荐系统_django+hive

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 白酒管理 系统管理 看板展示 系统首页 白酒详情…...

SQL-leetcode-180. 连续出现的数字

180. 连续出现的数字 表&#xff1a;Logs -------------------- | Column Name | Type | -------------------- | id | int | | num | varchar | -------------------- 在 SQL 中&#xff0c;id 是该表的主键。 id 是一个自增列。 找出所有至少连续出现三次的数字。 返回的…...

Unity中如何修改Sprite的渲染网格

首先打开SpriteEditor 选择Custom OutLine,点击Genrate 则在图片边缘会出现边缘线&#xff0c;调整白色小方块可以调整边缘 调整后&#xff0c;Sprite就会按照调整后的网格渲染了。 如何在UI中使用&#xff1f; 只要在UI的Image组件中选择Use Sprite Mesh 即可 结果&#xff1…...

跟着 8.6k Star 的开源数据库,搞 RAG!

过去 9 年里&#xff0c;HelloGitHub 月刊累计收录了 3000 多个开源项目。然而&#xff0c;随着项目数量的增加&#xff0c;不少用户反馈&#xff1a;“搜索功能不好用&#xff0c;找不到想要的项目&#xff01;” 这让我意识到&#xff0c;仅仅收录项目是不够的&#xff0c;还…...

每日一题 345. 反转字符串中的元音字母

345. 反转字符串中的元音字母 简单 class Solution { public:string reverseVowels(string s) {int l 0;int r s.size() - 1;unordered_set<char> st {a,A,E,e,i,I,O,o,U,u};while(l < r){while(l<r && !st.count(s[l]) ){l;}while(l<r &&…...

Stream API 的设计融合了多个经典设计模式

Stream API 的设计融合了多个经典设计模式&#xff1a; 1. 策略模式&#xff08;Strategy Pattern&#xff09; 策略模式定义了一个算法的家族&#xff0c;将每个算法封装起来&#xff0c;并使它们可以互换。Stream API 中的每个操作&#xff08;如 filter(), map()&#xff…...

jmeter混合场景测试,设置多业务并发比例(吞吐量控制器)

jmeter混合场景测试&#xff0c;设置多业务并发比例&#xff08;吞吐量控制器&#xff09; 测试目的 为了验证需求提出的性能要求&#xff0c;结合实际可能的高压力场景&#xff0c;较全面的检测系统的性能表现。 测试方法 根据需求调研的业务模型和交易占比&#xff0c;设置不…...

直流有刷电机多环控制(PID闭环死区和积分分离)

直流有刷电机多环控制 提高部分-第8讲 直流有刷电机多环控制实现(1)_哔哩哔哩_bilibili PID模型 外环的输出作为内环的输入,外环是最主要控制的效果,主要控制电机的位置。改变位置可以改变速度,改变速度是受电流控制。 实验环境 【 !】功能简介: 按下KEY1使能电机,按下…...

vue-axios+springboot实现文件流下载

前端vue代码&#xff1a; <template><div class"app-container documentation-container"><div><el-button type"primary" click"downloadFile(test.xlsx)">下载test.xlsx</el-button></div></div> …...

selenium执行js

JS知识 获取元素 document.getElement 移除属性&#xff1a;removeAttribute("xx") 窗口移动&#xff1a;window.scrollTo(0, document.body.scrollHeight)方法 drivier.execute_script(js)场景&#xff1a; 日期选择框&#xff0c;不能输入&#xff0c;只能设置…...

每日算法Day11【左叶子之和、找树左下角的值、路径总和】

404.左叶子之和 算法链接: 404. 左叶子之和 - 力扣&#xff08;LeetCode&#xff09; 类型: 二叉树 难度: 简单 思路&#xff1a;要判断一个节点是否为左叶子节点&#xff0c;只能通过其父节点进行判断。 题解: /*** Definition for a binary tree node.* public class Tr…...

分享一下使用 AI 开发个人工具的迭代过程

分享一下使用 AI 开发个人工具的迭代过程&#xff1a;1. 找 gpt/claude 要一个 super shady coder 的人设 prompt&#xff1b;2. 简单介绍项目背景和基础需求给 gemini&#xff0c;生成最初的细化需求&#xff1b;3. 根据细化需求再次分析&#xff0c;完善边界条件&#xff0c;…...

大型语言模型(LLMs)演化树 Large Language Models

大型语言模型&#xff08;LLMs&#xff09;演化树 Large Language Models flyfish 下面的图来自论文地址 Transformer 模型&#xff08;如 BERT 和 GPT-3&#xff09;已经给自然语言处理&#xff08;NLP&#xff09;领域带来了革命性的变化。这得益于它们具备并行化能力&…...

部分背包问题

本节学习解决部分背包问题,部分背包代表物品可以按照一定比例被分割,而后放入背包内.这是十分经典的用贪心算法解决的问题. 问题描述: 给定一些物品,用matrix表示各个物品的属性,第一项表示物品的质量,第二项表示物品的总价值.现有一背包最大承重为M,试求如何让背包中所装物品…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

IP选择注意事项

IP选择注意事项 MTP、FTP、EFUSE、EMEMORY选择时&#xff0c;需要考虑以下参数&#xff0c;然后确定后选择IP。 容量工作电压范围温度范围擦除、烧写速度/耗时读取所有bit的时间待机功耗擦写、烧写功耗面积所需要的mask layer...

C++ Saucer 编写Windows桌面应用

文章目录 一、背景二、Saucer 简介核心特性典型应用场景 三、生成自己的项目四、以Win32项目方式构建Win32项目禁用最大化按钮 五、总结 一、背景 使用Saucer框架&#xff0c;开发Windows桌面应用&#xff0c;把一个html页面作为GUI设计放到Saucer里&#xff0c;隐藏掉运行时弹…...