Kubernetes 1.29 中的功能移除、弃用及重大变更

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

Kubernetes v1.29将弃用多个功能,包括逐步淘汰k8s.gcr.io注册表和替代pkgs.k8s.io软件库。用户需启用外部云控制器管理器,并更新API版本以适应新变化。详细信息将在发布说明中公布。

🔎

延伸解读

弃用政策与迁移窗口

Kubernetes 对稳定 API 的弃用有明确政策:只有当更新的稳定版本可用时才会弃用,且弃用后至少保留一年才移除。这意味着 v1.29 中标记为弃用的功能仍会继续工作,但使用时会收到警告。用户应利用这段时间规划迁移,避免在后续版本中因 API 移除而导致服务中断。

镜像仓库与软件源变更的影响

k8s.gcr.io 注册表自 2023 年 3 月起流量已重定向至 registry.k8s.io,并最终会被淘汰。同时,pkgs.k8s.io 取代了旧的 Google 拥有的 apt.kubernetes.io 和 yum.kubernetes.io 仓库,后者已于 2023 年 9 月 13 日弃用且内容冻结。用户需检查并更新镜像拉取地址和软件源配置,确保集群组件和节点包能正常获取。

外部云控制器管理器的启用要求

v1.29 中 DisableCloudProviders 和 DisableKubeletCloudCredentialProviders 特性门控默认设为 true,使用树内云提供商集成(Azure、GCE 或 vSphere)的用户必须启用外部云控制器管理器,或在相关组件上将门控设为 false 以继续使用旧集成。启用外部管理器需在控制平面运行合适的云控制器管理器,并为 kubelet 及控制平面组件设置 --cloud-provider=external 参数。

API 版本迁移与字段弃用

flowcontrol.apiserver.k8s.io/v1beta2 在 v1.29 中不再提供,用户需迁移至 v1beta3(自 v1.26 可用)。注意 v1beta3 中 PriorityLevelConfiguration 的 spec.limited.assuredConcurrencyShares 已重命名为 spec.limited.nominalConcurrencyShares。此外,Node 对象的 .status.kubeProxyVersion 字段被标记为弃用,因其值不准确,kubel

❓

Q&A

Kubernetes v1.29中有哪些功能被弃用?

Kubernetes v1.29中弃用了k8s.gcr.io注册表和flowcontrol.apiserver.k8s.io/v1beta2 API版本,并标记了Node对象中的.status.kubeProxyVersion字段为弃用。

如何迁移到Kubernetes v1.29的新API版本?

用户需将flowcontrol.apiserver.k8s.io/v1beta2 API版本迁移到v1beta3版本,并更新相关的客户端软件和清单。

为什么要启用外部云控制器管理器?

启用外部云控制器管理器是为了适应Kubernetes v1.29中新的云提供商集成要求,特别是对于使用内置云提供商集成的用户。

pkgs.k8s.io软件库的作用是什么?

pkgs.k8s.io软件库是社区拥有的Debian和RPM软件包库,取代了旧的Google拥有的软件库,提供Kubernetes相关的软件包。

Kubernetes v1.29中对.kubeProxyVersion字段的变更是什么?

.status.kubeProxyVersion字段在Kubernetes v1.29中被标记为弃用,未来将被移除,因为该字段不准确。

Kubernetes的弃用政策是什么?

Kubernetes的弃用政策规定,稳定API只能在有新稳定版本可用时被弃用,弃用的API将在未来版本中移除,用户需迁移到替代版本。

🏷️

标签

➡️

继续阅读