关注【云原生百宝箱】公众号,获取更多云原生消息
Kubernetes 1.29版本带来了多项重要变化和功能更新。这次发布将ReadWriteOncePod从Alpha版本升级到稳定版,引入了nftables来取代iptables以提升性能,将SidecarContainers功能升级至Beta并默认启用,对Node生命周期的Taint管理进行了重构,以及引入了新的Alpha功能MatchLabelKeys / MismatchLabelKeys等。
同时,新增了管理服务IP地址范围的API以及支持原地更新Pod资源的功能。还对Cronjob创建方式进行了废弃通知,建议使用
.spec.timeZone
替代。总体而言,这些改变为Kubernetes用户提供了更加稳定、高效的容器编排体验。
概述
Kubernetes已成为事实上的行业标准容器编排技术,用于大规模部署和管理容器化应用程序。
Kubernetes 版本 1.29
**Kubernetes 1.29 主题和徽标 — Mandala **(宇宙)
Kubernetes 1.29 Mandala
此次发布的灵感来自精美的Mandala 艺术风格,代表了宇宙的终极形态。K8S 在数百名社区贡献者的支持下,努力为全球数百万人解决障碍和跳转。
让我们开始看看吧
版本 1.29 中的总增强功能数量:49
11 个升级为稳定版,19 个升级为Beta 版,19 个升级为Alpha 版
稳定版的改进
-
• ReadWriteOncePod —在 1.22 版本中作为CSI 驱动程序的Alpha功能引入,现已升级为稳定版。1.22之前k8s有三种卷访问模式RWO , RWM , ROM。**ReadWriteOncePod (RWOP)**确保 整个集群中只有附加到该卷的 Pod 能读取或写入该 PV/PVC。
apiVersion: v1
kind: PersistentVolume
metadata:name: pv
spec:capacity:storage: 5GiaccessModes:- ReadWriteOncePod
-
• nftables — 之前版本中Linux上的 kube-proxy 实现使用的是iptables。iptable 后继者基于nftables 的新后端。
一些 Linux 发行版弃用并删除了iptables,而nftables主要解决 iptables 的性能问题。
云原生百宝箱
行万里路,此处相逢,共话云原生之道。 偶逗趣事,明月清风,与君同坐。
51篇原创内容
公众号
Beta功能
-
• SidecarContainers — SidecarContainers功能已升级为测试版并默认启用。SidecarContainers将在所有主容器之后收到 SIGTERM。SidecarsContianers终止时的顺序将相反。
-
• 节点生命周期污点管理-从NodeLifecycleController中删除TaintManager(负责基于污点的 pod 驱逐),并创建两个不同的控制器:NodeLifecycleController(向不健康的节点添加污点)和TaintManager(从具有 NoExecute 效果的污点节点中删除 pod) 。
-
• 清理旧版基于 Secret 的 SA 令牌:ServiceAccount令牌有时间限制,并且特定于1.22版本中的 Pod。K8s在1.24中停止自动生成ServiceAccount的令牌。在 v1.29 新功能中,旧的自动生成的密钥令牌如果长时间未使用,默认情况下会自动删除它们。
Alpha特征
-
• MatchLabelKeys /MismatchLabelKeys —为PopAffinity/Antiaffinity引入MatchLabelKeys /MismatchLabelKeys ,允许用户仔细定义 Pod 亲和(PodAffinity)或反亲和(PodAntiAffinity)的范围。
affinity:podAffinity: # Pods land on the same node poolrequiredDuringSchedulingIgnoredDuringExecution:- matchLabelKeys:- nginxtopologyKey: node-poolpodAntiAffinity: # only Pods from this tenant lands on the same node poolrequiredDuringSchedulingIgnoredDuringExecution:- mismatchLabelKeys:- nginxlabelSelector:matchExpressions:- key: nginxoperator: ExiststopologyKey: node-pool
-
• 用于管理 SVC IP 地址范围的 API — K8s服务提供了公开应用程序的方法。集群范围的虚拟 IP 地址是根据kube-apiserver标志中指定的预定CIDR分配的,可用于服务。用户可以使用两个新的 API 对象ServiceCIDR和IPAddress来修改、添加或删除已分配给服务的 IP 范围,而无需重新启动kube-apiserver。
-
• POD资源原地更新 - 作为 alpha 功能,K8s pod 的资源是可变的,现在您将能够更新就地资源而无需重新启动。
弃用
-
• 不支持使用
CRON_TZ
或.spec.schedule
的TZ
变量创建 Cronjob 。建议的方法是使用.spec.timeZone
。如果您现有的 cronjobs 仍在使用这些变量,请更新或修改它。 -
• 删除了网络对象ClusterCIDR ( Alpha API)
- END -
推荐阅读
-
叮,你收到一份来自CNCF的云原生景观简介
-
要魔改Kubernetes,我们可以从哪里扩展
-
问题排查太烦心,试试GPT的超能力
-
Copa:无需重建镜像,直接修补容器漏洞
-
玩转K8s网络:16张图带你从小白到专家
-
1000节点集群,5秒搭建好
-
流量何处来又往何处去,这次一目了然
-
Kubernetes CNI 插件选型和应用场景探讨
-
块/文件/对象存储难统一管理,试试这个集大成者
-
GPU越来越难买,如何提高利用率
-
监控外部服务太复杂?ServiceMonitor 和 PrometheusRule有妙招
-
容器快了,却不安全了,Rootless 安排上
-
还在Jenkins点点,快来体验Tekton的灵活自动化
-
懒人福音:LazyDocker轻松驾驭容器,操作高效省心