
与每个版本一样,Kubernetes v1.29 将引入功能弃用和删除。我们持续生产高质量版本的能力证明了我们强大的开发周期和健康的社区。以下是 Kubernetes 1.29 版本中的一些弃用和删除内容。
Kubernetes API 删除和弃用流程
Kubernetes 项目对功能有详细记录的弃用政策。此策略规定,只有当同一 API 的更新、稳定版本可用时,才可以弃用稳定的 API,并且每个稳定性级别的 API 都有最短生命周期。已弃用的 API 是已标记为在未来 Kubernetes 版本中删除的 API;它将继续运行,直到删除(从弃用起至少一年),但使用将导致显示警告。已删除的 API 在当前版本中不再可用,此时您必须迁移到使用替换版本。
- 普遍可用 (GA) 或稳定的 API 版本可能会被标记为已弃用,但不得在 Kubernetes 主要版本中删除。
- 弃用后的 3 个版本必须支持 Beta 或预发布 API 版本。
- Alpha 或实验性 API 版本可能会在任何版本中删除
无论 API 是由于某个功能从测试版升级到稳定版而被删除,还是因为该 API 根本没有成功,所有删除都符合此弃用政策。每当删除 API 时,都会在文档中传达迁移选项。
关于 k8s.gcr.io 重定向到registry.k8s.io 的说明
为了托管其容器映像,Kubernetes 项目使用社区拥有的映像注册表,称为registry.k8s.io。从去年 3 月开始,旧 k8s.gcr.io 注册表的流量开始被重定向到registry.k8s.io。已弃用的 k8s.gcr.io 注册表最终将被淘汰。有关此更改的更多详细信息或了解您是否受到影响,请阅读 k8s.gcr.io 重定向到registry.k8s.io - 您需要了解的内容。
关于 Kubernetes 社区拥有的包存储库的说明
2023 年初,Kubernetes 项目引入了 pkgs.k8s.io ,这是社区拥有的 Debian 和 RPM 软件包软件存储库。社区拥有的存储库取代了 Google 拥有的旧存储库( apt.kubernetes.io 和 yum.kubernetes.io )。 2023 年 9 月 13 日,这些遗留存储库被正式弃用,其内容被冻结。
Kubernetes v1.29 的弃用和删除
有关 Kubernetes v1.29 计划弃用的完整列表,请参阅 API 删除的官方列表。
删除与云提供商的树内集成 (KEP-2395)
对于 Kubernetes v1.29,功能门 DisableCloudProviders 和DisableKubeletCloudCredentialProviders 将默认设置为 true 。此更改将要求当前使用树内云提供商集成(Azure、GCE 或 vSphere)的用户启用外部云控制器管理器,或通过将关联的功能门设置为 false .
启用外部云控制器管理器意味着您必须在集群的控制平面内运行合适的云控制器管理器;它还需要为 kubelet(在每个相关节点上)以及跨控制平面(kube-apiserver 和 kube-controller-manager)设置命令行参数 --cloud-provider=external 。
删除 v1beta2 流量控制 API 组
FlowSchema 和 PriorityLevelConfiguration 的 flowcontrol.apiserver.k8s.io/v1beta2 API 版本将不再在 Kubernetes v1.29 中提供。
为此,您可以编辑现有清单并重写客户端软件以使用自 v1.26 起提供的 flowcontrol.apiserver.k8s.io/v1beta3 API 版本。所有现有的持久对象都可以通过新的 API 访问。 flowcontrol.apiserver.k8s.io/v1beta3 中的显着变化包括 PriorityLevelConfiguration spec.limited.assuredConcurrencyShares 字段已重命名为 spec.limited.nominalConcurrencyShares 。
弃用 Node 的 status.nodeInfo.kubeProxyVersion 字段
Node 对象的 .status.kubeProxyVersion 字段将在 v1.29 中被标记为已弃用,以准备在未来版本中删除它。该字段不准确,是由 kubelet 设置的,它实际上不知道 kube-proxy 版本,甚至不知道 kube-proxy 是否正在运行