Kubernetes 1.26 中的删除、弃用和主要更改

Kubernetes 1.26 中的删除、弃用和主要更改

变化是 Kubernetes 生命周期不可或缺的一部分:随着 Kubernetes 的成长和成熟,功能可能会被弃用、删除或替换为项目健康的改进。对于 Kubernetes v1.26,有几个计划:本文根据 v1.26 发布过程中这个周期中期点可用的信息确定并描述了其中的一部分,该过程仍在进行中,并且可能会引入其他更改。

Kubernetes API 移除和弃用流程

Kubernetes 项目有一个有据可查的功能弃用政策。

https://kubernetes.io/docs/reference/using-api/deprecation-policy/

此政策规定,只有当同一 API 的更新、稳定版本可用时,稳定的 API 才可能被弃用,并且 API 具有每个稳定性级别的最短生命周期。已弃用的 API 已被标记为在未来的 Kubernetes 版本中删除;它将继续运行直到被删除(从弃用起至少一年),但使用会导致显示警告。已删除的 API 在当前版本中不再可用,此时您必须迁移到使用替换 API。

  • 一般可用 (GA) 或稳定的 API 版本可能会标记为已弃用,但不得在 Kubernetes 的主要版本中删除。
  • 弃用后的 3 个版本必须支持 Beta 或预发布 API 版本。
  • Alpha 或实验性 API 版本可能会在任何版本中删除,恕不另行通知。

无论 API 是由于功能从测试版升级到稳定版而被删除,还是因为该 API 根本没有成功,所有删除都符合此弃用政策。每当删除 API 时,都会在文档中传达迁移选项。

删除对 CRI v1alpha2 API 和 containerd 1.5 的支持

在 1.24 版本中采用了 Container Runtime Interface (CRI)

https://kubernetes.io/docs/concepts/architecture/cri/

和 移除 dockershim 之后,CRI 成为了 Kubernetes 与不同容器运行时交互的受支持和文档化的方式。每个 kubelet 与该节点上的容器运行时协商使用哪个版本的 CRI。

Kubernetes 项目推荐使用 CRI 版本 v1; 在 Kubernetes 版本 1.25 中,kubelet 还可以协商使用 CRI 版本 v1alpha2(在添加对稳定 v1 接口的支持的同时,已经不再推荐使用该版本)。

Kubernetes v1.26 将不支持 CRI v1alpha2。如果容器运行时不支持 CRI v1,则此次移除将导致 kubelet 不注册节点:

https://github.com/kubernetes/kubernetes/pull/110618

这意味着 Kubernetes 1.26 将不支持 containerd 次要版本 1.5 及更早的版本;如果您使用 containerd,则需要先升级到 containerd 1.6.0 或更高版本,然后再将该节点升级到 Kubernetes v1.26。其他仅支持v1alpha2的容器运行时也受到同样的影响:如果这影响到您,您应该联系容器运行时供应商寻求建议或查看他们的网站以获取有关如何改进的更多说明。

如果您想从 v1.26 功能中获益并仍然使用较旧的容器运行时,您可以运行较旧的 kubelet。kubelet 支持的倾斜允许您运行 v1.25 kubelet:

https://kubernetes.io/releases/version-skew-policy/#kubelet

即使您将控制平面升级到 Kubernetes 的 1.26 次要版本,它仍然与v1alpha2 CRI 支持兼容。

除了容器运行时本身,还有像 stargz-snapshotter:

https://github.com/containerd/stargz-snapshotter

这样的工具充当 kubelet 和容器运行时之间的代理,这些工具也可能受到影响。

Kubernetes v1.26 中的弃用和删除

除上述内容外,Kubernetes v1.26 的目标是包括一些额外的删除和弃用。

移除v1beta1流量控制 API 组

FlowSchema 和 PriorityLevelConfiguration 的 flowcontrol.apiserver.k8s.io/v1beta1 API 版本,将不再在 v1.26 中提供:

https://kubernetes.io/docs/reference/using-api/deprecation-guide/#flowcontrol-resources-v126

用户应迁移清单和 API 客户端以使用自 v1.23 起可用的 API 版本:flowcontrol.apiserver.k8s.io/v1beta2

删除 v2beta2 HorizontalPodAutoscaler API

HorizontalPodAutoscaler autoscaling/v2beta2API 版本将不再在 v1.26 中提供服务:

https://kubernetes.io/docs/reference/using-api/deprecation-guide/#horizontalpodautoscaler-v126

用户应迁移清单和 API 客户端以使用自 v1.23 起可用的 API 版本:autoscaling/v2

删除树内凭证管理代码

在这个即将发布的版本中,作为 Kubernetes 一部分的旧供应商特定身份验证:

https://github.com/kubernetes/kubernetes/pull/112341

将从client-gokubectl代码中移除,现有机制支持对两个特定云提供商的身份验证:Azure 和 Google Cloud。取而代之的是,Kubernetes 已经提供了供应商中立的身份验证插件机制:

https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins

您可以在 v1.26 版本发布之前立即切换。如果您受到影响,可以找到有关如何继续使用 Azure:

https://github.com/Azure/kubelogin#readme

和 Google Cloud 的其他指南:

https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke

删除kube-proxy的 userspace 模式

userspace代理模式已被弃用一年多,在 Linux 或 Windows 上不再受支持:

https://github.com/kubernetes/kubernetes/pull/112133

并将在此版本中删除。用户应该在 Linux 上使用iptablesipvs,或者在 windows 上使用kernelspace。使用--mode userspace将失败。

移除树内 OpenStack 云提供商

Kubernetes 正在从用于存储集成的树内代码转向容器存储接口 (CSI)。作为其中的一部分,Kubernetes v1.26 将删除已弃用的 OpenStack (cinder卷类型)树内存储集成。您应该迁移到外部云提供商和 CSI 驱动程序:

https://github.com/kubernetes/cloud-provider-openstack

有关详细信息,请访问 Cinder in-tree 到 CSI 驱动程序迁移:

https://github.com/kubernetes/enhancements/issues/1489

删除 GlusterFS in-tree 驱动程序

树内 GlusterFS 驱动程序 在 v1.25 中已弃用,并将从 Kubernetes v1.26 中删除。

https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/#deprecations-and-removals

弃用非包容性kubectl标志

作为包容性命名计划,实施工作的一部分:

https://www.cncf.io/announcements/2021/10/13/inclusive-naming-initiative-announces-new-community-resources-for-a-more-inclusive-future/

--prune-whitelist标志将被弃用,并替换为--prune-allowlist. 强烈建议使用此标志的用户,在最终删除该标志之前,在未来版本中进行必要的更改。

https://github.com/kubernetes/kubernetes/pull/113116

删除动态 kubelet 配置

动态 kubelet 配置允许通过 Kubernetes API 推出新的 kubelet 配置:

https://github.com/kubernetes/enhancements/tree/2cd758cc6ab617a93f578b40e97728261ab886ed/keps/sig-node/281-dynamic-kubelet-configuration

即使在实时集群中也是如此。集群操作员可以通过指定包含 kubelet 应该使用的配置数据的 ConfigMap 来重新配置节点上的 kubelet。动态 kubelet 配置在 v1.24 中从 kubelet 中移除,并将在 v1.26 版本中从 API Server 中移除。

https://github.com/kubernetes/kubernetes/pull/112643

kube-apiserver命令行参数的弃用

kube-apiserver 的--master-service-namespace命令行参数没有任何效果,并且已经被非正式弃用:

https://github.com/kubernetes/kubernetes/pull/38186

该命令行参数将在 v1.26 中正式标记为已弃用,以准备在未来的版本中将其删除。Kubernetes 项目预计此次弃用和移除不会产生任何影响。

kubectl run命令行参数的弃用

kubectl run的子命令的几个未使用的选项参数将被标记为 deprecated,包括:

https://github.com/kubernetes/kubernetes/pull/112261

  • --cascade
  • --filename
  • --force
  • --grace-period
  • --kustomize
  • --recursive
  • --timeout
  • --wait

这些参数已被忽略,因此预计不会产生任何影响:显式弃用会设置一条警告消息并准备在未来版本中删除这些参数。

删除与日志记录相关的遗留命令行参数

Kubernetes v1.26 将删除一些与日志记录相关的命令行参数。

https://github.com/kubernetes/kubernetes/pull/112120

这些命令行参数已被弃用。有关详细信息,请参阅弃用 Kubernetes 组件中的 klog 特定标志:

https://github.com/kubernetes/enhancements/tree/3cb66bd0a1ef973ebcc974f935f0ac5cba9db4b2/keps/sig-instrumentation/2845-deprecate-klog-specific-flags-in-k8s-components

译自

作者:Frederico Muñoz (SAS)
原文:https://kubernetes.io/blog/2022/11/18/upcoming-changes-in-kubernetes-1-26/

说明

请关注 危 ❤ 工中号【进击云原生】,更有 free 资源供您学习

本文由mdnice多平台发布

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容