79,561
社区成员




Kubernetes容器编排引擎的最新版本,绰号“Stargazer”,旨在更好地支持数据库、微服务和其他新兴用例,同时摆脱阻碍 K8s 核心开发人员生产力的早期失误。
据管理开源项目的云原生计算基金会称,总体而言,此版本包含 46 个“增强功能” 。15 个增强功能已升级到稳定状态,这意味着它们已准备好投入生产使用,而 15 个增强功能正在进入测试阶段,13 个增强功能处于 alpha 状态。
首先,那些仍在使用 Docker 运行时引擎的人必须找到替代品或商业解决方法,才能将其与新版本的 Kubernetes 一起使用:从 1.24 开始,将不再支持 Dockershim。
2020 年决定放弃对 Docker 运行时的支持。尽管 Docker 引发了容器使用的第一次广泛成功,但 Kubernetes 切换到了 2016 年推出的标准化容器运行时接口,以允许 Kubernetes Kubelet节点引擎与任何兼容的运行时引擎进行接口,目标是不完全依赖于码头工人本身。
当然,最初的 Docker 引擎本身并不兼容,因此制作了一个 shim 本身来运行 K8s 上的运行时。在此版本之前,该垫片一直受到支持。
此更改将与那些仍在使用 Docker 引擎本身的运行部署相关,需要在更新之前将其更新到兼容的运行时——CRI -O或containerd或市售的Mirantis Container Runtime (MCR)。
基于 Docker 开发工具构建的容器现在构建为在 CRI 规范上运行,并且不受此更改的影响。“对于大多数应用程序开发人员来说,这将是一个透明的变化,” v1.24版本的项目负责人James Laverack解释说。
虽然 Laverack 没有估计有多少部署仍然依赖 Docker 引擎,但他指出,仍然这样做的唯一原因是如果 Kubernetes 功能是在其 API 之外访问的。在这些情况下,执行此操作的应用程序将需要一些工作来升级。
Laverack 解释说,由于多种原因,通过 API 以外的方式访问 Kubernetes 是有问题的。一方面,它可以将用户锁定为仅使用一个引擎(在本例中为 Docker)来访问 Kubernetes 功能。
Docker shim 也存在问题,因为它为 K8s 维护者带来了大量维护工作。有很多专门用于处理 Docker 的代码(与 CRI 本身并行),而且一直存在错误。Laverack 说,消除支持有助于 K8s 工程师简化代码库。
“社区认为删除它可以简化代码库的这一部分并减少错误,提高稳定性并提高更多版本的速度,”Laverack 说。“因此,这确实是一个根本性的变化,它将帮助 Kubernetes 在未来以更高的质量提供更多功能。”
据 VMware 称,那些使用 Kubernetes 的人正在稳步增加其集群的规模和数量。
Stargazer 还展示了为 Kubernetes 提供存储感知控制所做的工作。对于那些计划在 Kubernetes 上运行有状态工作负载(例如数据库)的人来说,这将是个好消息。Kubernetes 感知应用程序将能够通过这些功能以更精细的粒度管理存储,提供调整卷大小或允许应用程序根据任何给定时刻可用的剩余存储做出决策的能力。
作为API Server的 alpha 版本引入的上下文日志记录功能将帮助平台工程师和 Kubernetes 核心开发团队本身调试 Kubernetes。该版本现在支持Kubernetes OpenAPI的 beta 版本 3 ,它允许第三方开发人员编写运算符和自定义资源定义来扩展 Kubernetes。
微服务开发者的好消息:Kubernetes 1.24 支持 Google 的gRPC 通信协议。
新的探测功能无需设置单独的 HTTP 服务器来检查容器的准备情况和可用性。Laverack 说,微服务经常使用 gRPC 进行通信,这将允许开发人员在 gRPC 上标准化他们的堆栈。
安全性向前迈出了一大步,现在能够使用Sigstore签署发布工件。K8s 用户现在可以签署他们的软件组件,确保他们没有被篡改。
“这是在保护 Kubernetes 生态系统完整性方面迈出的一大步,表明由于供应链攻击的增加,大规模的代码签名是可能的,而且坦率地说是必要的,” Chainguard开源负责人Tracy Miranda说,他在Sigstore 博客文章中被引用,宣布包含.
Kubernetes 本身现在正在使用 SigStore 来满足软件工件供应链级别 ( SLSA ) 的合规性,这是一个防止恶意第三方篡改软件包的安全框架。
有关 Kubernetes 1.24 新功能的完整概要,请参阅此处的发行说明。
Kubernetes 的每个版本都有一个专门的版本管理器。Laverack 在为代码库做出任何贡献之前于 2020 年加入了发布团队。他的日常工作是 Kubernetes 服务提供商Jetstack的员工解决方案工程师。他在每个版本中担任发布团队的影子,直到这个版本。
“人们有兴趣加入发布团队,我们非常乐意接受全新的贡献者,”他说。
Cici Huang将领导Kubernetes 1.25的发布,该工作将于本月在KubeCon+CloudNativeCon EU开始,并于 8 月 23 日左右发布。
来源:https://thenewstack.io/kubernetes-1-24-drops-dockershim-makes-space-for-stateful-workloads/