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

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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