Kubernetes 1.29:稳定性提升、性能升级,全新功能来袭!

关注【云原生百宝箱】公众号,获取更多云原生消息

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: 5Gi
  accessModes:
    - 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 pool
    requiredDuringSchedulingIgnoredDuringExecution:
    - matchLabelKeys:
        - nginx
      topologyKey: node-pool
  podAntiAffinity:  # only Pods from this tenant lands on the same node pool
    requiredDuringSchedulingIgnoredDuringExecution:
    - mismatchLabelKeys:
        - nginx
      labelSelector:
        matchExpressions:
        - key: nginx
          operator: Exists
      topologyKey: node-pool
  • • 用于管理 SVC IP 地址范围的 API — K8s服务提供了公开应用程序的方法。集群范围的虚拟 IP 地址是根据kube-apiserver标志中指定的预定CIDR分配的,可用于服务。用户可以使用两个新的 API 对象ServiceCIDRIPAddress来修改、添加或删除已分配给服务的 IP 范围,而无需重新启动kube-apiserver

  • • POD资源原地更新 - 作为 alpha 功能,K8s pod 的资源是可变的,现在您将能够更新就地资源而无需重新启动。

弃用

  • • 不支持使用CRON_TZ.spec.scheduleTZ变量创建 Cronjob 。建议的方法是使用.spec.timeZone。如果您现有的 cronjobs 仍在使用这些变量,请更新或修改它。

  • • 删除了网络对象ClusterCIDR ( Alpha API)

- END -


推荐阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萤火AI百宝箱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值