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

2023-05-16

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/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 1.26 中的删除、弃用和主要更改 的相关文章

  • 盘点|2021年最受欢迎Linux桌面操作系统前十名

    简介 xff1a 根据各操作系统镜像站后台下载量 xff0c 阿里云镜像站统计了2021年最受欢迎的Linux桌面操作系统 xff0c 仅根据调用量排名 xff0c 供大家参考 排位最高的还是Centos xff0c 受中国Linux用户欢
  • VSLAM框架对比

    xff08 一 xff09 单目VSLAM特点介绍 xff1a 1 ORB SLAM2 工作流程 xff1a 主要模块 xff1a 前端 xff1a ORB特征提取匹配 xff0c 估计相机位姿 xff1b 根据跟踪地图点数的减少选择关键帧
  • ORB-SLAM3的Euroc数据集测试

    xff08 一 xff09 测试运行 不同模式测试过程 xff08 以MH 03为例 xff09 1 pure mono 运行SLAM xff1a cd ORB SLAM3 Example run slam Monocular mono e
  • 阶段性工作总结

    xff08 一 xff09 简介 1 常用VSLAM开源框架对比 xff0c 初步研究方向确定 2 ORB SLAM3的数据集测试 xff0c 各种模式下的运行性能对比 xff0c 及IMU模式下与Vins对比实验 3 adas视频在ORB
  • 第二阶段文献总结

    xff08 一 xff09 CoSLAM 1 系统功能和亮点 功能 xff1a 本文是第一个动态场景下多相机合作的同时定位 静态图构建 动态点轨迹估计的SLAM系统 亮点 xff1a 引入相机间位姿估计和相机间建图解决动态物体问题维护每一个
  • 第三阶段文献总结

    motion分割相关方法 xff08 一 xff09 Semantic segmentation aided visual odometry for urban autonomous driving 1 文章特点 xff1a VO中包含重投
  • 动态场景SLAM相关论文总结

    参考文献 xff1a VDO SLAM xff08 动物判别与跟踪 xff09 DynaSLAM xff08 深度学习 43 多视图几何分割 xff09 CoFusion xff08 语义 43 运动分割 xff09 Meaningful
  • 算法总结——八皇后问题(三种解法)

    问题描述 会下国际象棋的人都很清楚 xff1a 皇后可以在横 竖 斜线上不限步数地吃掉其他棋子 如何将8个皇后放在棋盘上 xff08 有8 8个方格 xff09 xff0c 使它们谁也不能被吃掉 xff01 这就是著名的八皇后问题 对于某个
  • 游戏开发图书推荐--我读过的技术经典图书

    很多同学问我学游戏开发应该看些什么书 xff0c 我在这里抛砖引玉 xff0c 给一份推荐表 xff0c 希望大家共同提高 由于本人英文不太好 xff0c 推荐的大部书籍都是国人编写的 xff0c 有些经典的外文图书可能是翻译不好 xff0
  • (四)加入摄像头的系统

    打开摄像头的方法在第一章里就讲到了 xff0c 而且使用了多线程完成 所以这一章的内容就是将之前第一章的代码做移植 xff0c 进行小幅度的修改 xff0c 应用到当前系统上就可以了 在UI界面上已经放好了用来显示摄像头信息的label 在
  • 安卓不透明度和透明度

    安卓不透明度和透明度 xff1a 不透明度透明度16进制100 0 FF99 1 FC98 2 FA97 3 F796 4 F595 5 F294 6 F093 7 ED92 8 EB91 9 E890 10 E689 11 E388 12
  • Centos7安装PHP

    阿里云官方镜像站 xff1a 阿里巴巴开源镜像站 OPSX镜像站 阿里云开发者社区 我们在系统安装软件时都会遇到各种小问题 xff0c 那么如何才能提高我们在云服务器上的软件安装效率呢 xff1f 接下来就为大家详细介绍下如何在 CentO
  • Canny边缘检测

    Canny边缘检测 1 使用高斯滤波器 xff0c 以平滑图像 xff0c 滤除噪声 2 计算图像中每个像素点的梯度强度和方向 3 应用非极大值 xff08 Non Maximum Suppression xff09 抑制 xff0c 以消
  • MBus协议详解(一)

    看了许多关于MBus协议的资料 xff0c 感觉说的不具体 不完整 也不系统 xff0c 本人准备结合一个具体的产品实现 xff0c 从理论和实现上对MBus协议做一个详细的论述 xff0c 如有不当之处 xff0c 欢迎讨论 1 介绍 M
  • 机器学习期末复习题题库-单项选择题

    1 属于监督学习 的机器学习算法是 xff1a 贝叶斯分类器 2 属于无监督学习 的机器学习算法是 xff1a 层次聚类 3 二项式 分布的共轭分布是 xff1a Beta分布 4 多项式 分布的共轭分布是 xff1a Dirichlet分
  • Linux中查看磁盘大小、文件大小、排序方法小结

    一 xff0c 查看磁盘空间大小的命令 xff1a df df命令用于查看磁盘分区上的磁盘空间 xff0c 包括使用了多少 xff0c 还剩多少 xff0c 默认单位是KB 比如以下命令 xff1a df hl 执行结果如下 xff1a 执
  • 【Mac M1】安装stable diffusion webui教程及问题集锦

    这里写自定义目录标题 我的配置MacBookPro 14 M1安装视频教程可参考如下链接 xff1a 主播讲的挺清楚安装步骤 xff1a 第一步 xff1a 安装homebrew第二步 xff1a 安装pytorch第三步 xff1a 安装
  • cmake找不到trigger_msgsConfig.cmake 解决办法

    在编译FLIR相机驱动时遇到 百度无人记录此问题 xff0c 特此记录解决办法 sudo apt install ros melodic image transport
  • PX4源码开发人员文档(一)——软件架构

    软件架构 PX4 在广播消息网络内 xff0c 按照一组节点 xff08 nodes xff09 的形式进行组织 xff0c 网络之间使用像如 姿态 和 位置 之类的语义通道来传递系统状态 软件的堆栈结构主要分为四层 应用程序接口 提供给
  • PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky

    前提 用UART1连接PX4FMU和计算机 安装PX4Toolchain 注册Github账户 Step 1 准备源码文件 为了方便管理代码 xff0c 可以使用GIT 版本控制系统 xff0c 在 GitHub上 fork和更新源码 不注

随机推荐

  • PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky(续)

    Step 5 订阅传感器数据 为了做有用的事情 xff0c 应用需要订阅subscribe输入并发布publish输出 e g 电机 或伺服指令 PX4平台真正的硬件抽象 xff08 true hardware abstraction xf
  • PX4(PIXHAWK)源码开发人员文档(三)——进程间通讯的开发者指南

    进程 应用之间的通信 xff08 例如将传感器应用的传感器数据发送到姿态滤波应用 xff09 是 PX4 软件架构的关键部分 进程 xff08 通常又被叫做节点 xff08 node xff09 xff09 通过命名为总线 xff08 bu
  • Ubuntu21.10配置Docker CE 镜像

    Docker CE 是免费的 Docker 产品的新名称 xff0c Docker CE 包含了完整的 Docker 平台 xff0c 非常适合开发人员和运维团队构建容器 APP 参考阿里云官方镜像站 xff1a 阿里巴巴开源镜像站 OPS
  • PX4源码开发人员文档(四)——创建后台程序(应用)

    在 Unix 和其他多任务计算机操作系统中 xff0c 后台程序是指 xff0c 作为后台进程运行的计算机 xff0c 而不是由交互用户直接控制 后台程序概念的主要好处是 xff0c 后台程序可以直接启动 xff0c 而不需要将其发送到精确
  • PHP获取今天、本周、今年开始时间戳

    PHP获取今天 本周 今年开始时间戳 注 xff1a 以下代码在php8 0上测试通过 xff0c 其它版本的php理论上也是可行的 span class token delimiter important lt php span span
  • 搬砖过程中常用的英文单词(代码命名规则)

    注册register用户名 用户userName user密码password pwd路径path成绩score服务器host图片img字符串str数字num
  • CAN 邮箱的理解

    对于CAN邮箱的理解 xff1a CAN总线有接收邮箱和发送邮箱 xff1a 发送邮箱 是用于CAN总线数据发送的 xff0c 总共有3个 xff0c 并且存在优先级关系 优先级越高表示其里面的数据会被优先发送 数据在发送前都会被送到优先级
  • 变量名前为什么要加_下划线

    简单来说 xff0c 含有两个下划线和下划线 43 大写字母开头的标识符是给编译器和标准库用的 xff0c 你不能用 xff0c 否则后果自负 一个下划线开头的随便用 xff0c 只要你不嫌麻烦 而我们一般在前面加 表示私有变量 一般来说
  • 23 张图细讲使用 Devtron 简化 K8S 中应用开发

    23 张图细讲使用 Devtron 简化 K8S 中应用开发 在本文中 xff0c 您将学习如何在多集群环境中使用 Devtron 在 K8S 上进行应用开发 https devtron ai Devtron 附带用于构建 部署和管理微服务
  • 企业级网关 Kong 部署 Spring Boot 项目实战

    企业级网关 Kong 部署 Spring Boot 项目实战 1 概述 在本教程中 xff0c 我们将演示使用 Kong Ingress Controller KIC 在 Kubernetes 上部署 Spring Boot 应用程序 通过
  • Linux Mint(Ubuntu)上 安装 效率神器 utools

    我的 Windows 系统的笔记本只有 256G 固态 xff0c 磁盘已经快用满了 xff0c 最近想装个 Linux 玩玩 xff0c 选择了 Linux Mint xff0c 然后就在闲置的移动硬盘上安装了 Linux Mint 21
  • 图文轻松说透 K8S Pod 各种驱逐场景

    图文轻松说透 K8S Pod 各种驱逐场景 Kubernetes Pod 被驱逐是什么意思 xff1f 它们被终止 xff0c 通常是没有足够资源的结果 但是为什么会这样呢 xff1f 驱逐是指派给节点的Pod 被终止的过程 Kuberne
  • CKA、CKAD、CKS、LFCS、LFCA、LFCE 60$ 刀优惠券

    CKA CKAD CKS LFCS LFCA LFCE 60 刀优惠券 CKA 地址 xff1a https trainingportal linuxfoundation org courses certified kubernetes a
  • 配置Docker CE 镜像

    Docker CE 是免费的 Docker 产品的新名称 xff0c Docker CE 包含了完整的 Docker 平台 xff0c 非常适合开发人员和运维团队构建容器 APP 参考阿里云官方镜像站 xff1a 阿里巴巴开源镜像站 OPS
  • ssh 连接错误 Too many authentication failures 解决方法

    ssh 连接错误 Too many authentication failures 解决方法 背景 有时候使用 ssh 登录 或者 git ssh 方式连接 时会遇到 xff1a Too many authentication failur
  • 报错解决 REMOTE HOST IDENTIFICATION HAS CHANGED

    REMOTE HOST IDENTIFICATION HAS CHANGED 报错 span class hljs meta style color 61aeee line height 26px span span class bash
  • 使用 Helm Cli 将 chart 推送到 Harbor

    使用 Helm Cli 将 chart 推送到 Harbor 背景问题 努力寻找适用于特定版本的 Harbor 和 Helm 的文档 我尝试添加我的仓库 xff08 repo xff09 helm repo span class token
  • 修改 Git 已经提交记录的 用户名 和邮箱

    修改 Git 已经提交记录的 用户名 和邮箱 有关 Git 和版本控制的常见问题 如何更改提交的作者姓名 电子邮件 xff1f 在我们进入解决方案之前 xff0c 让我们找出您到底想要完成什么 xff1a 在提交之前更改作者信息在提交后更改
  • Go 中模拟 Kubernetes 客户端进行单元测试

    是的 xff0c 我们可以模仿 K8s Client xff01 编写单元测试一直是开发人员的痛苦 这样做的主要原因是 xff0c 通常 xff0c 单元测试 xff08 功能单元测试 xff09 不得使用应用程序的任何物理组件 运行实例
  • Kubernetes 1.26 中的删除、弃用和主要更改

    Kubernetes 1 26 中的删除 弃用和主要更改 变化是 Kubernetes 生命周期不可或缺的一部分 xff1a 随着 Kubernetes 的成长和成熟 xff0c 功能可能会被弃用 删除或替换为项目健康的改进 对于 Kube