Redian新闻
>
Docker Swarm 有新特性了:Moby 项目更新频繁,2023年三个大版本

Docker Swarm 有新特性了:Moby 项目更新频繁,2023年三个大版本

公众号新闻

作者 | Loraine Lawson
译者 | 王强
策划 | Tina

Moby 是一个从 Docker 衍生出来的开源项目,它在今年计划发布三个主要版本更新。

Docker 工程师 Sebastiaan van Stijn(左)与 Bjorn Neeargaard 在 Dockercon 23 上的演讲。

开源 Moby 项目的最后一个主要版本是在 2020 年发布的,但据两位 Moby 贡献者称,今年该项目将发布三个主要版本。

Moby 项目是一个组件集合,用于构建基于容器的系统。项目中包括了容器运行时、容器注册表、容器构建工具、编排工具以及网络、日志记录和监控工具。这些组件可用于构建基于容器的系统,例如云原生应用程序、微服务架构、CI/CD 管道和本地容器平台等。

Moby 维护者 Bjorn Neergaard 是 Docker 的高级软件工程师。本月早些时候,他与技术指导委员会成员 Sebastiaan van Stijn(也是 Docker 的软件工程师)一起在 DockerCon 上介绍了 Moby 项目的最新进展,并公布了 2023 年将要发布的主要版本的细节以及未来的计划。

Moby 诞生背景简介

Neergaard 和 van Stijn 在 DockerCon 演讲中首先简要介绍了 Moby 这个开源项目的来历。van Stijn 表示,它可以追溯到开发人员最早使用容器作为轻量级虚拟机的时代,那时候这种虚拟机很难用且非常小众。

“它没有流行起来,因为它太复杂了,”van Stijn 说。“它很难保持同步;没有镜像分发,啥分发都没有。”

然后 dotCloud(一个小型的平台即服务,后来成为 Docker)开始向用户提供服务了。不过实际上,技术人员真正感兴趣的是 dotCloud 在幕后所做的事情:他们正在部署很多技术容器,其中大部分是用 Python 编写的,得写大量脚本才能把容器跑起来,van Stijn 解释道。后来 dotCloud 决定把他们一直在内部使用的东西开源。

然后,在 2013 年,Docker 创始人 Solomon Hykes 在 PyCon 的闪电演讲中介绍了 Linux 容器。

“虽然只提了五分钟,但它在业界引起了不小的震动,因为在这五分钟内他第一次展示了一个跑起来的 Docker,”van Stijn 说。“Docker 包揽了他原本要用 LXC 来做的大量工作,但只需一条命令就搞定了。”

当时 Docker 仍然是 LXC 的一个包装器,由 LXC 承担所有繁重的任务。它简化了用户操作体验,而且还提供了一种镜像格式——这是一大进步,因为现在开发人员可以给容器用镜像了,用不着为容器创建专属的文件系统。这时候还没有构建。他补充说,它还提供了一个 API,让开发人员可以做一些“很酷的事情”。

“它确实对市场造成了很大的影响,因为 Linux 容器第一次成为现实,并走进了开发人员的工作中,”他说。

van Stijn 表示,LXC 用起来挺好的,但 Docker 还是决定重写运行时,这样就可以有内置于 Docker 引擎中的原生运行时了。后来随着更多功能(例如网络)进入 Docker,这一步被证明是非常正确的。容器流行了起来,但每个容器都有一个任务,这意味着程序员在大多数堆栈中都需要多个容器。于是有人开始尝试做编排,后来编排也有了组合,而且让用户可以定义 YAML 文件了。

Docker 收购了 Fig,后者成为了 Docker Compose。然后 Docker 推出了 Swarm,它的第一个版本让开发人员可以在机器集群中运行他们的容器。van Stijn 表示,随后 Kubernetes 上线并决定使用 Docker 作为运行时,因为后者是运行容器的事实标准。他补充说,这也导致了一些问题,因为越来越多的人要求的各种功能显然超出了该项目的设计目标。

“Kubernetes 不需要 Docker 的网络堆栈,他们不需要我们提供的其他东西,但他们仍在使用运行时,有时就会出各种问题,”他说。“引擎的单体架构问题越来越大。”

此外,虽然 Docker 是事实标准,但这方面并没有关于容器镜像或运行时运行方式的正式规范,他说。

“实现是规范,但并不总是让人满意,”他说。

Docker 决定把实际的运行时分割出去。大约在同一时间,标准组织 OCI 成立。Docker 向组织捐赠了用于分发镜像的规范,以及运行时规范和镜像。

“现在其他人也可以实现运行时、镜像和注册表了,Docker 不再是唯一选项。”

Docker 还开始与几个合作伙伴公司从头开始重写运行时,结果就是 containerd(发音为“container D”),这是对 Docker 运行时部分的完全重写。

Moby 项目的诞生

van Stijn 在演讲中告诉观众,当 Docker 决定将项目进一步拆分为多个更小的组件时,Moby 项目就开始了,因为人们想要使用 Containerd 和 Docker 引擎的其他部分。这也催生了用于构建用途的 Build Kits、用于编排的 Swarm Kit 以及 Docker 引擎。他补充说,作为一个单独的项目,CLI 成为了 Docker 产品的一部分。运行时本身演变为 Moby 项目。

他说:“这可以让大家在其基础上来做构建、参与,但也让人们更容易接受一些可能不会直接让 Docker 这个产品获益、但可以被他人用上的更改,反之亦然。”

随着企业产品转向 Mirantis,Docker 本身也发生了变化,它又变回了面向开发者的产品。他补充说,Docker 开始专注于 Docker 桌面,而 Moby 项目的工作进展缓慢,直到过去 18-24 个月,Mirantis 和微软的维护人员加入了这项工作后情况开始变化。

“有一件事情让大家很是困惑,那就是名为 Docker 的开源代码到底变成了什么样,”Neergaard 解释道。“但也许这也能说明一个问题:在 Docker, Inc. 之外,现在项目有了更多的参与者——而且不仅仅是参与者,还是项目的利益相关者。”

Neergaard 补充道,除了 Mirantis 和微软之外,英伟达最近也贡献了容器设备接口支持。

现在是什么情况

“最近,我们也看到该项目有了更多的活动,”Neergaard 说。“可以从多种形式看出这一变化,不过下图可能还不全。”

Moby 项目的最新活动

Docker 引擎的最新版本是在 2020 年发布的。时至今日又出现了很多代码和改进,但一直没出可以搭载这些改进的新版本,他补充道。

今年已经发布了两个主要版本——版本 23.0 和 24.0,其主要特性包括:

  • BuildKit,默认开启(不再有 DOCKER_BUILDKIT=1)。Neergaard 说,BuildKit 是对构建器的重写。“BuildKits 最初的任务和计划的一部分是让它取代 Docker 引擎中的经典遗留构建器,并提供更丰富、更灵活的构建平台,并且依旧像 Docker 构建一样简单,”他说。“所以 BuildKit 现在默认处于启用状态。”

  • Swarm 中的 CSI(容器存储接口)

  • 可选 containerd shim:

    • gVisor

    • Kata 容器

    • WebAsseambly

Neergaard 说,备选 shim “可能很无聊”,但开辟了很多可能性,“特别是对于那些想搞出一些新方法来运行容器或看起来有点像容器的东西(例如 WebAssembly)的人们来说是这样的。”

该团队曾希望在 DockerCon 之前提供第三个版本 25.0,但结果没有成行。根据演示内容,预计这个版本现在会随时发布。该版本将包括:

  • CDI(容器设备接口)

  • OTEL(OpenTelemetry)集成到引擎中

  • Neergaard 说,“优雅”的健康检查与健康开始间隔长期以来一直是一个痛点。

“今年我们的确准备发布三个版本的引擎更新,不管怎样这是很大的挑战;我们每次都在进步。”Neergaard 说道。

“另一件有趣且让人想不到的事情是 Docker Swarm 中还有新特性,”他说。他解释说,Swarm 是 Docker 对 Kubernetes 的回应。

Neergaard 说:“在这一点上,我想说 Kubernetes 在很大程度上是编排平台的事实标准,除非有充分的理由,否则你可能不应该选择 Kubernetes 以外的其他平台。” “有一小部分颇有声量的用户群体喜欢使用 Swarm,并且希望 Swarm 能做更多事情,甚至与 Kubernetes 现有的许多附加组件和扩展兼容。”

Moby 项目的未来计划包括在 Containerd 中添加多个快照程序和原生多架构,以及重新设计的 CLI、错误修复和新的网络功能,还有将协调器逻辑从 Compose 移动到声明式 Docker 的守护进程中,两人补充道。

原文链接

https://thenewstack.io/the-moby-project-post-kubernetes-3-new-releases-in-2023/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
“我不懂的、总有人懂”,软件开发行业已经开始扭曲变形
OpenAI 刚刚又杀死了一批初创公司
疯狂马斯克的“极限”计划居然成功了?!“下云”后成本降低 60%,部分功能代码精简 90%,30 天急速迁移服务器
程序员篡改 ETC 余额,一年私吞 260 余万元;语雀公布故障原因及赔偿方案;各家财报发布,创始人们:就很难受|Q资讯

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
开学啦Docker的使用案例以及未来发展、Docker Hub 服务、环境安全、容器部署安全红色日记 3.21-31云原生面经分享:精心整理的 K8s / Docker / DevOps 面试真题!| 极客时间VQ一下Key,Transformer的复杂度就变成线性了汇总了近 50 场面试, 总结出了这份 70 多页的 K8s/Docker/DevOps 文档,超实用!| 极客时间Docker AI 来了,太酷了!Linux 发行版 Nobara 更新 39 版本,号称“专为游戏玩家定制的 Fedora 系统”【Locker Room】Locker Room运动上新!女篮、飞盘&腰旗橄榄球,你准备好了吗?8个最佳Docker容器监控工具,收藏了Docker 有什么优点?Docker中容器和镜像的关系,真正的通俗易懂!下一代 Docker 来了!构建速度提高了 39 倍小米mios要来了?曝MIUI14为最后一个正式大版本City Slickers: How Shanghai Is Outfoxing Its Raccoon Dog Problem观点 | 许勤华:持续推动合作项目更新升级你猜,为什么Google和Facebook不用Docker?今日实习|BlackRock推出Placement Program EMEA项目,26届毕业生可报名!【孝子贤孙伺候着】之(8)文艺老年Docker AI来了?啥来的?Docker与DevOps的无敌组合,引爆你的创新潜能像Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?下一代 Docker 来了!1小时构建缩至1.5分钟,还能结合 LangChain、Ollama 等做 AI 应用开发Fedora Workstation 39 的新特性 | Linux 中国卢纶 塞下曲Taking Stock of Love and Losses in the ‘World’s Supermarket’Adobe收购 AI 视频初创公司;淘宝推出全新特色店铺与商品体系;Redmi K70系列发布会定档;斗鱼称开展清朗行动...精选SDE岗位 | BlackRock、Zoom、BlackBerry公司岗位发布!佐州又迎来一个吃喝玩乐好去处!占地100英亩的更大版本的Avalon要来了!神器!基于 docker 渗透测试工具箱精选SDE岗位 | ARM、Bayer、BlackRock公司岗位发布!容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档发现纳米材料新特性:广谱抑制炎症小体过度激活旅美散记(05):变性教育从娃娃抓起丢掉 LangChain、像 Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。