Kubernetes 1.24新特性解读

Kubernetes 1.24新特性解读

作者:分布式实验室 2022-05-05 11:20:08

云计算 对于Kubernetes 1.24版的正式发布,本文谨结合自己的体会,谈几个应用开发者可能比较关注的点。

5月4日, Kubernetes 1.24版正式发布了,像之前的几个版本一样,给Kubernetes带来了大大小小多达几十项的变化。几十项涉及到基础设施、运维和应用开发的方方面面,可能很难有人能够全部搞懂,本文也不打算一一罗列,谨结合自己的体会,谈几个应用开发者可能比较关注的点。

首当其冲是对dockershim支持的正式移除。在一年多以前,Kubernetes 1.20版本宣布对Docker的支持置为“废弃(Deprecated)”状态,不再演进,并“将在未来的某个版本中移除(Will be removed)”。这次发布的1.24版即是所谓“正式移除Docker支持”的版本,然而,Docker公司却宣称,在Kubernetes环境中,可以继续使用Docker,其Docker Desktop产品的用户仍然能够无缝使用Kubernetes的最新发布版本。这是怎么回事?

事实上,仔细阅读Kubernetes官方的1.24版的Change Log,你会发现,其对于Docker支持的表述与一年前的1.20版有微妙的不同。

1.20版Change Log 截图

1.24版Change Log截图

Kubernetes移除Docker主要是因为Docker长期以来不支持Kubernetes主推的CRI容器运行时接口标准,因此Kubernetes社区维护了一个dockershim组件专门用来对接Docker。

这在当年Docker具备垄断地位时非常有必要,随着containerd和kata等容器运行时发展成熟,尤其是containerd在生产环境中大量使用,Kubernetes社区决定不再维护dockershim。

然而,最近两年Mirantis(已于2019年11月收购Docker Enterprise部门)和Docker公司在对Kubernetes的支持上不断投入,目前社区里已经有一个独立于Kubernetes并且支持CRI的“shim”:cri-dockerd,继续实现Kubernetes与Docker的对接。

Docker Desktop以其优秀的用户体验深得很多开发者的青睐,自Kubernetes 1.20版本发布以来,笔者就在寻找Docker Desktop的替代品,也尝试了不少,但目前还没有找到能够与之媲美的产品。cri-dockerd让Kubernetes 1.24能够继续对接Docker容器运行时,这意味着用户可以像以前一样在Docker Desktop中一键安装并无缝使用最新版的Kubernetes,对于开发者来说无疑是个好消息。

同时由于Docker Image已经成为了各类容器运行时使用的标准镜像格式,开发使用Docker,生产或者发布到客户的环境中使用的是其他容器运行时可能会成为一种长期存在的普遍现象。

第二个想聊一聊的是Kubernetes的Job。对于批处理类的应用负载,Kubernetes提供了Job资源来支持。但是当我们要运行并行处理或者分布式计算的Job时,会遇到一个问题:Kubernetes中的Pod是动态创建和回收的,这也是基于Kubernetes Job来运行批处理负载的优势之一,因为资源能够在需要时才被占用,用完可以立即回收,然而这却会导致任务在往各个Pod分配时缺少依据(基于机器的并行计算系统中往往需要将主机名称等相对固定的标识作为任务调度的输入)。

在早些版本中,Kubernetes官方建议引入消息队列或者内存数据库来给Job的各个Pod分配编号以解决该问题[1],这无疑提升了应用的复杂度且引入了第三方组件的运维问题。在Kubernetes 1.24版本中,有一项从Beta阶段提升为正式特性的功能叫做“Indexed Job”,该特性会给同一个Job的各个Pod在环境变量中注入一个编号索引,应用可以根据这个编号为各个Pod分配具体的task。

去年该特性还在beta阶段时,笔者尝试将一个基于Kubernetes Job的云原生分布式图计算应用从依赖外部消息队列分配task改为Indexed Job,应用的可维护性、稳定性和资源消耗都得到了明显的改善。

第三个推荐开发者关注的特性是gPRC健康状态探针已经是beta状态了,这是一个很值得期待的功能。gRPC协议在云原生应用中得到日益广泛的使用,然而Kubernetes过去一直缺少gRPC原生的健康状态探针支持,使得对gRPC服务的启动、存活和就绪状态检查都需要依赖其他手段,官网有一篇文章对这些技术手段进行了介绍[2],从文章中不难看出,这些方法对于应用迁移上Kubernetes的成本和云原生应用的可维护性、可用性都会有一定的影响。在Kubernetes原生支持gRPC探针后,这些问题得到了有效的解决,采用gRPC协议构建云原生应用的同仁们可以期待一下这个特性未来从beta状态变为正式可用。

最后想到一个非常有意思的更新,1.24版本以后,kubeadm安装Kubernetes集群时,不再给运行控制面组件的节点标记为“master”,因为这个词被认为是“具有攻击性的、无礼的(offensive)”。近几年,一些用master-slave来表示主-从节点的计算机系统纷纷改掉术语,slave前两年就已经销声匿迹了,现在看来master也不能用。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/301146.html<

(0)
运维的头像运维
上一篇2025-05-24 05:00
下一篇 2025-05-24 05:01

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注