44、K8s实战:Kubernetes1.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 注册表最终将被淘汰。

关于 Kubernetes 社区拥有的包存储库的说明

2023 年初,Kubernetes 项目 pkgs.k8s.io社区拥有的 Debian 和 RPM 软件包软件存储库。社区拥有的存储库取代了 Google 拥有的旧存储库(apt.kubernetes.ioyum.kubernetes.io)。2023 年 9 月 13 日,这些遗留存储库被正式弃用,其内容被冻结。

Kubernetes v1.29 的弃用和删除

有关Kubernetes v1.29 计划弃用的完整列表,请参阅API 删除的官方列表。

删除与云提供商的树内集成 ( KEP-2395 )

  • 对于 Kubernetes v1.29,功能 DisableCloudProviders和都将默认DisableKubeletCloudCredentialProviders设置为。true此更改将要求当前使用树内云提供商集成(Azure、GCE 或 vSphere)的用户启用外部云控制器管理器,或通过将关联的功能门设置为 来选择加入旧集成false。
  • 启用外部云控制器管理器意味着您必须在集群的控制平面内运行合适的云控制器管理器;它还需要--cloud-provider=external为 kubelet(在每个相关节点上)以及整个控制平面(kube-apiserver 和 kube-controller-manager)设置命令行参数。
  • 有关如何启用和运行外部云控制器管理器的更多信息,请参阅云控制器管理器管理迁移复制控制平面以使用云控制器管理器
  • 有关云控制器管理器的一般信息,请参阅 Kubernetes 文档中的云控制器管理器。

删除v1beta2流量控制 API 组

FlowSchema和 PriorityLevelConfiguration 的 flowcontrol.apiserver.k8s.io/v1beta2 API 版本将不再在 Kubernetes v1.29 中提供。为此,您可以编辑现有清单并重写客户端软件以使用flowcontrol.apiserver.k8s.io/v1beta3自 v1.26 起可用的 API 版本。所有现有的持久对象都可以通过新的 API 访问。值得注意的变化包括flowcontrol.apiserver.k8s.io/v1beta3PriorityLevelConfigurationspec.limited.assuredConcurrencyShares字段已重命名为spec.limited.nominalConcurrencyShares

弃用status.nodeInfo.kubeProxyVersionNode 字段

Node 对象的字段.status.kubeProxyVersion将在 v1.29 中被标记为已弃用,以准备在未来版本中将其删除。该字段不准确,是由 kubelet 设置的,它实际上不知道 kube-proxy 版本,甚至不知道 kube-proxy 是否正在运行。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: