当前位置:首页 > 每日看点 > 正文内容

现在工作中k8s是使用containerd还是docker来管理容器?

卡卷网12个月前 (02-24)每日看点177

Kubernetes 里用啥工具来管容器,是用 containerd 还是 Docker

这种事儿,听起来好像很技术,但其实就那么回事儿,真正玩透了才明白,真没有表面看起来那么神秘。

咱就说说这个事儿,抛开那些高大上的词汇,简单直白点。给你条条道来,你就知道为啥选 containerd 才是眼下的王道了。

一、为什么这俩工具长得差不多?

咱先说个背景知识,这事儿的根子还在于,Kubernetes 这玩意儿,自己不生产容器,它就是个“调度员”,就是管你要什么容器,跑哪里,怎么跑,这些事儿。容器本身是由更底层的东西来管的。

最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软

现在工作中k8s是使用containerd还是docker来管理容器?  第1张

Dockercontainerd,就是两种帮你把容器跑起来的工具。最早 Docker 算是主流,后来 containerd 上位,成了 Kubernetes 里默认的容器管理方式。

这两个工具呢,说白了,都能帮你把应用打包成容器,把代码、依赖、配置啥的都塞一块,想在哪儿跑都行。

只是,Docker 做了更多,它不仅仅管容器,还做镜像构建、注册、分发什么的。而 containerd 就精简得多,专注跑容器的核心功能。你可以理解为 Docker 是个大公司里的全能员工,啥都想干;而 containerd 就是个专注一件事的小专家,干活专心不出岔子。

现在工作中k8s是使用containerd还是docker来管理容器?  第2张

最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软

二、Docker 落伍的根源在哪?

说白了,Docker 的锅有点儿多。一开始它啥都干,但 Kubernetes 真正搞起来后,发现有些事不需要它插手。

比如容器的构建和分发,用不上 Kubernetes 就能搞定;但是 Docker 自带的这些东西不仅多余,还拖慢系统。想想公司里的“全能”同事啥都管,有时候反倒不省心,是不是?

  1. 性能负担Docker 架构复杂、依赖多,在大规模场景下,额外的服务和功能就成了累赘,常常拖慢系统。就像你把一个公司所有职能都给一个人,这人反倒越干越慢,还常出小毛病。
  2. 兼容性不足Docker 的架构不符合 Kubernetes CRI(容器运行时接口)的规范,需要一层转接,叫 dockershim。多一个环节就多一份不稳定的风险,出点问题谁都搞不清锅在哪儿。换个精简专注的 containerd,直接上 CRI,少了中间商,省心多了。
  3. 复杂架构Docker 的架构里带了很多没用的东西,举个例子,自己带了个 Docker Engine 和 Docker Daemon,就像一个人带个小助理,干活是方便了,但也有点拖沓。咱不如直接让 containerd 这个大力士上,直接扛活儿干。
  4. Kubernetes 直呼“去掉 dockershim:2021 年 Kubernetes 就宣布正式抛弃 Docker 支持了,原因很简单,大家都嫌麻烦,尤其是多出来的 dockershim 维护成本高,风险大。既然有更好的选择,谁还拿着“扶不起的阿斗”?

三、那 containerd 有啥独门绝技?

好嘞,containerd 出场了。这个家伙清晰明了,就是个硬派选手。它干活就干“运行容器”这一件事,不掺和别的,省心省事儿。来看几个它独有的好处:

  1. 体积小,速度快:不多说了,containerd 不像 Docker 那么复杂,你也不用花额外心思去理解各种多余的东西。专注就是力量,咱玩 Kubernetes 就是要这个小、快、专注的工具,别整那些花里胡哨的。
  2. 架构简洁containerd 和 Kubernetes 打交道的接口天然契合,没啥中间层,直接干活就完事儿。容器调度上,少一环,稳定性就上来。再说,简洁的东西维护起来也省心,不会今天冒泡明天掉线。
  3. 维护方便,社区活跃:虽然 containerd 看着小,但人家是 CNCF(云原生计算基金会)亲自罩的,不会没人管。Kubernetes 里一出啥问题,容器底层的社区老铁马上就给你支援,不怕没解决方案。咱们用它,也更省心。

四、现实工作中的利弊权衡

好了,咱说点实际工作中的情况吧。用 containerd 一开始可能不太习惯,尤其你要是以前 Docker 用得很熟。但公司里啥活不是从学不会到学会,containerd 这玩意儿上手成本其实也没那么高。

  1. 开发、测试的环境Docker 环境用惯了,你本地开发、打包镜像还是得靠它。但是上了生产环境,部署到集群里,就用 containerd,两者配合着用,各司其职,这样效率最高。
  2. 从 Docker 转 containerd 的迁移成本:对,迁移成本有一些,但这就跟升级设备一样,忍一忍,等习惯了就好。这事儿吧,长痛不如短痛,公司总要向前走。切了 containerd,你会发现架构稳定性提升不止一点半点。
  3. 容器镜像管理containerd 没有内置的镜像构建和分发功能,但这事儿也不难解决,反正公司内部用一些专门的镜像库(Registry),照样方便得很。大公司还会用 CI/CD 工具链串起来,哪里还用纠结这个。

五、总结一句话

真要总结的话,就是这事儿早就没啥悬念了:Docker 好用在开发阶段,本地折腾项目谁都爱它;可真上生产,containerd 必须安排。干活儿嘛,就要用对的工具,containerd 精简稳定,省去 Docker 的各种麻烦和复杂性。咱就别纠结了,生产上用 Kubernetes 那就直接 containerd,少走弯路。

免费看 500 套技术教程的网站,希望对你有帮助

程序员快看-教程,程序员编程资料站
最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软

求一键三连:点赞、分享、收藏

我的技术网站:cxykk.com 里面有,500套技术系列教程、1万+道,面试八股文、BAT面试真题、简历模版,工作经验分享、架构师成长之路,全部免费,欢迎收藏和转发。


说在最后

最后再推荐一些免费的K8s专栏教程,希望能帮到你

K8S实战

01、K8s实战:Windows10安装Docker,配置阿里云加速器

02、K8s实战:基础知识之简介

03、K8s实战:基础知识之组件

04、K8s实战:Centos7.6yum安装Docker,配置阿里云加速器

05、K8s实战:Centos7.6安装dockercompose

06、K8s实战:Centos7.6使用Ansible安装K8S(测试单节点)

07、K8s实战:Dockercompose安装中文版GitLab,配置SSH免密登录

08、K8s实战:Centos7.6安装私服Harbor

09、K8s实战:SpringBoot使用jib打包Docker镜像至私服

10、K8s实战:dockercompose之网络设置

11、K8s实战:使用开源项目io.fabric8之docker

12、K8s实战:二进制方式搭建K8S集群(环境准备)

13、K8s实战:二进制方式搭建K8S集群(完结)

14、K8s实战:K8S管理平台Rancher安装及集群导入

15、K8s实战:陈述式管理之kubectl常用命令

16、K8s实战:声明式管理示例之K8S部署Nginx及修改删除

17、K8s实战:K8S存储Volume之ConfigMap

18、K8s实战:K8S存储Volume之Secret

19、K8s实战:K8S存储之emptyDir+hostPath

20、K8s实战:K8S存储之NFSPVPVC

21、K8s实战:K8S控制器之ReplicaSet

22、K8s实战:K8S控制器之Deployment

23、K8s实战:K8S控制器之DaemonSet

24、K8s实战:K8S控制器之JobCronJob

25、K8s实战:K8S之Service

26、K8s实战:K8S之Ingress

27、K8s实战:K8S之Schedule

28、K8s实战:K8S之Helm安装与配置

29、K8s实战:K8S之部署微服务项目实战

Docker实战

01、Docker 基础教程

02、Docker 架构

03、Ubuntu 安装 Docker

04、CentOS Docker 安装

05、Windows 安装 Docker

06、Docker run 运行镜像

07、Docker 容器

08、Docker top 查看容器进程

09、Docker inspect 容器元数据

10、Docker start 启动容器

11、Docker restart 重启容器

12、Docker rm 删除已停止的容器

13、Docker 命名容器

14、Docker 容器运行 Web 应用

15、Docker 端口映射

16、Docker images 本地镜像列表

17、Docker 查找镜像

18、Docker commit 更新镜像

19、Docker Dockerfile 创建镜像

20、Docker build 构建镜像

21、Docker 镜像打标签

22、Docker 部署 Nginx 环境

23、Docker 部署 PHP 环境

24、Docker 安装 MySQL

25、Docker 安装 Tomcat

26、Docker 安装 Python

27、Docker 安装 Redis

28、Docker 安装 MongoDB

29、Docker 安装 Apache

30、Docker 命令大全

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/02/11150.html

分享给朋友:

相关文章

数字人民币为什么又不火了?

我完全不懂行。我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百块钱,...

只有我一个人后悔升级鸿蒙next吗?

只有我一个人后悔升级鸿蒙next吗?

我有一台mate 60 pro,第一时间升级了“纯血鸿蒙”。虽然功能并不完善,甚至有些简陋,但是我非常~非常不后悔升级鸿蒙next系统。因为.... 这就是一款“大型养成系游戏“,给我平淡的生活提供了源源不断的情绪价值。我每天特别...

用红米手机会很丢人吗?

前些日子遇到了一位快递小哥,京东的,签收小哥年纪不算大,目测二十多岁他的手机上全是一道道极严重的划痕,有点卡,他开热点了,热点名就是手机型号,红米9a,我父母的同款现在他那边操作了一会,然后又是我这边操作了一会小哥看着我手机刷刷的,颇有些好...

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目下...

常微分方程的理论对偏微分方程的研究有没有帮助?

常微分方程的理论对偏微分方程的研究有没有帮助?

之前看到过一句话,好像是 Bourgain 说的,大意是做 ode 的做到深处就到了 pde,做 pde 的做到深处就到了 ode,ode 和 pde 最后是相通的。以我目前有限的知识,只知道下面两个方向:1. Hamilton 系统在现代...

为什么小公司留不住人?

为什么小公司留不住人?

我估计,整个知乎,可能没有比我公司再小得了,。。正对面就是我唯一的一个员工的工位。为啥留不住人。因为那些留不住人的老板,太拿自己当回事。大公司靠制度。小公司靠人情。我这儿的业务,因为全都是线上,所以员工来不来坐班都不重要。天太热可以不来,下...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。