Kubernetes 社区周报(截至 2025 年 5 月 25 日)

65 阅读3分钟

开发者动态

维护者峰会北美站 2025 正在招募项目委员会成员!如果你热衷于 Kubernetes 社区的维护工作,欢迎在 7 月 7 日(周一) 前提交申请,共同打造一场精彩的峰会。

发布进度

下一个里程碑:代码冻结,6 月 12 日

Kubernetes 1.34 版本的发布周期已经启动,Release 团队正在积极收集新特性。SIG Lead 们,快来讨论你们的增强提案,并为进入 v1.34 版本的 KEP 贴上 lead-opted-in 标签吧!

精选 PR

  • 131842:新增兼容性版本指标

    这个 PR 为 kube-apiserverschedulercontroller-manager 添加了 alpha 版本的兼容性指标,通过 Prometheus 暴露,用于观察版本协商的情况。现在,你可以使用这些指标来监控这些核心组件的版本协商过程啦!

  • 128748:优化 Pod 调度回退机制

    这个 PR 区分了插件拒绝导致的调度失败和内部错误导致的调度失败。UnschedulableCount 只追踪插件导致的拒绝,避免了 API 故障或网络问题等临时错误不公平地增加回退时间。这提高了集群不稳定情况下的调度公平性和响应速度。

  • 129983:DefaultPreemption 插件支持自定义 Pod 选择和排序

    这个 PR 允许你在 DefaultPreemption 插件中自定义 Pod 的选择和排序逻辑。通过新增 EligiblePodsOrderedPods 函数钩子,你可以定制抢占策略,而无需重写整个插件。

  • 131677:Kubeadm 支持 ECDSA-P384 加密算法

    现在,你可以使用 ECDSA-P384 算法来生成 CA 和组件证书等 PKI 资产啦!这个 PR 在 kubeadm API 类型中添加了对 EncryptionAlgorithmECDSAP384 的支持,并在 pkiutil 中实现了 ECDSA P-384 密钥的生成逻辑。

本周 KEP

KEP 4369:环境变量名允许使用几乎所有可打印的 ASCII 字符

这个增强提案放宽了对环境变量名称的限制,允许使用除 "=" 之外的所有可打印 ASCII 字符(ASCII 码 32-126)。以前,Kubernetes 的限制可能会阻止某些应用程序正常运行,尤其是在用户无法控制变量名时。通过解除这些限制,提高了与更广泛应用程序的兼容性,并消除了采用障碍,使 Kubernetes 的行为更符合实际使用模式。

这个 KEP 预计在 v1.34 版本中进入 Beta 阶段。

其他合并

  • authz config metrics 的自动重载已进入 Beta 阶段
  • PodMaxBackoffDuration kube-scheduler 选项设置为零时,Pod 回退将被完全跳过
  • kubectl explain 中意外删除的 --output 标志的简写已添加回来
  • Kubernetes 现在使用 Go 1.24.3 构建
  • 统一了指标中对组资源的引用
  • 修复了重启测试中的阴影错误
  • 为 NodeAffinity 插件添加了过滤器集成测试
  • AuthenticationConfiguration 类型已提升至 apiserver.config.k8s.io/v1
  • 如果控制器扩展已完成,则节点上的卷将不会被扩展

晋升

  • QueueingHint 升至 GA
  • kuberc 升至 Beta

版本更新

  • system-validators 升级至 v1.10.1
  • etcd 升级至 v3.6.0
  • 用于发布机器人规则的 Go 升级至 1.23.9

子项目和依赖更新

  • minikube v1.36.0 在 macOS 上使用 --network vmnet-shared 选项时,显著加快了 vfkit 网络速度,支持 Kubernetes v1.33.1,允许通过专用配置文件配置插件,并包含其他改进
  • vertical-pod-autoscaler v1.4.0 发布,通过 InPlaceOrRecreate Feature Gate 提供对 In-Place Pod 资源更新的 Alpha 支持,改进了来自 Pod 状态的资源跟踪,提供了全局最大资源限制的选项,以及一系列错误修复和依赖项更新
  • kubespray v2.28.0 发布,包含大量版本更新。删除了 Krew 安装支持。