Kubernetes 1.24正式发布,2022年首个大版本更新

介绍

早在 2020 年 12 月,Kubernetes 就宣布弃用 Dockershim。在 Kubernetes 中,dockershim 是一个软件 shim,它允许您将 Docker 引擎用作 Kubernetes 中的容器运行时。

这个版本包含 46 个增强功能:14 个增强功能已经升级到稳定版,15 个增强功能正在进入 beta 版,13 个增强功能正在进入 alpha 版。此外,弃用了两个功能,删除两个功能。

主要变化

Dockershim 从 kubelet 中删除

在 1.20 版中弃用之后,在 Kubernetes v1.24 版中,dockershim 组件已从 kubelet 中删除。从 1.24 版开始,你将需要使用其他受支持的运行时 (如 containerd 或 CRI-O),如果你依赖 Docker Engine 作为容器运行时,可使用 cri-dockerd。

默认情况下关闭(新的)测试 API

默认情况下,新的测试版 API 不会在集群中启用 。默认情况下,将继续启用现有的 beta API 和现有 beta API 的新版本。

签名发布工件

发布工件使用cosign[5] 进行签名 ,并且有验证镜像签名 的实验支持。发布工件的签名和验证是增加 Kubernetes 发布过程的软件供应链安全性 的一部分。

OpenAPI v3

Kubernetes 1.24 为以OpenAPI v3 格式 发布 API 提供了测试版支持。

Storage Capacity 和 Volume Expansion 是 GA

存储容量跟踪 支持通过CSIStorageCapacity 对象 显示当前可用的存储容量,并通过后期绑定(late binding)增强使用 CSI 卷的 pod 的编排。

卷扩展 增加了对调整现有永久卷大小的支持。

NonPreemptingPriority 到 Stable

此功能为PriorityClasses 添加了新选项 ,可以启用或禁用 pod 抢占。

存储插件迁移

正在进行的工作是迁移树内存储插件的内部 ,以调用 CSI 插件,同时保持原来的 API。Azure DiskOpenStack Cinder 插件都已迁移。

gRPC 探针升级到 Beta

在 Kubernetes 1.24 中,gRPC probes 功能 已经进入测试阶段,默认情况下是可用的。现在,你可以在 Kubernetes 中为 gRPC 应用程序原生配置启动、活动和就绪探测器 ,而无需暴露 HTTP 端点或使用额外的可执行文件。

Kubelet 凭据提供程序升级到 Beta

最初在 Kubernetes 1.20 中作为 Alpha 版本发布,kubelet 对镜像凭证提供者 的支持现在已经升级到 Beta 版本。这允许 kubelet 使用 exec 插件动态检索容器镜像注册中心的凭证,而不是将凭证存储在节点的文件系统上。

Contextual Logging 处于 Alpha

Kubernetes 1.24 引入了上下文日志记录 ,使函数的调用者能够控制日志记录的所有方面(输出格式、详细程度、附加值和名称)。

避免服务的 IP 分配中的冲突

Kubernetes 1.24 引入了一个新的选择加入特性,允许你为服务的静态 IP 地址分配软保留一个范围 。手动启用此功能后,群集将倾向于从服务 IP 地址池中自动分配,从而降低冲突风险。

可以分配 ClusterIP 服务:

  • 动态地,这意味着群集将在配置的服务 IP 范围内自动选择一个空闲 IP。
  • 静态,这意味着用户将在配置的服务 IP 范围内设置一个 IP。

ClusterIP 服务是唯一的;因此,尝试使用已经分配的 ClusterIP 创建服务将会返回错误。

Dynamic Kubelet Configuration 已从 Kubelet 中移除

在 Kubernetes 1.22 中被弃用后,Dynamic Kubelet Configuration 已从 kubelet 中移除。在 Kubernetes 1.26 中,该特性将从 API 服务器中删除。

CNI 版本相关的重大变更

在升级到 Kubernetes 1.24 之前,请验证你使用/升级到的容器运行时已经过测试,可以在此版本中正常工作。

例如,以下容器运行时正在为 Kubernetes 准备,或者已经为 Kubernetes 准备好了:

  • containerd 1.6.4 版和更高版本、1.5.11 版和更高版本
  • CRI-O 1.24 和更高版本

当 CNI 插件未升级和/或 CNI 配置版本未在 CNI 配置文件中声明时,containerd v1.6.0–1.6.3 中的 pod CNI 网络设置和拆除存在服务问题。containerd 团队报告说,“containerd v1.6.4 解决了这些问题。”

使用 containerd v1.6.0–1.6.3,如果你不升级 CNI 插件和/或声明 CNI 配置版本,你可能会遇到“Incompatible CNI versions”或“Failed to destroy network for sandbox”错误情况。

其他更新

升级到稳定

在此版本中,有 14 项增强功能升级为稳定版:

  • Container Storage Interface (CSI) Volume Expansion
  • Pod Overhead[23] : Account for resources tied to the pod sandbox but not specific containers.
  • Add non-preempting option to PriorityClasses
  • Storage Capacity Tracking
  • OpenStack Cinder In-Tree to CSI Driver Migration
  • Azure Disk In-Tree to CSI Driver Migration
  • Efficient Watch Resumption : Watch can be efficiently resumed after kube-apiserver reboot.
  • Service Type=LoadBalancer Class Field : Introduce a new Service annotation service.kubernetes.io/load-balanc… that allows multiple implementations of type: LoadBalancer Services in the same cluster.
  • Indexed Job : Add a completion index to Pods of Jobs with a fixed completion count.
  • Add Suspend Field to Jobs API : Add a suspend field to the Jobs API to allow orchestrators to create jobs with more control over when pods are created.
  • Pod Affinity NamespaceSelector : Add a namespaceSelector field for to pod affinity/anti-affinity spec.
  • Leader Migration for Controller Managers : kube-controller-manager and cloud-controller-manager can apply new controller-to-controller-manager assignment in HA control plane without downtime.
  • CSR Duration : Extend the CertificateSigningRequest API with a mechanism to allow clients to request a specific duration for the issued certificate.

主要变化

这个版本有两个主要变化:

  • Dockershim Removal
  • 默认情况下,测试 API 是关闭的

发布说明

在我们的发行说明 中查看 Kubernetes 1.24 版本的全部细节。

下载

Kubernetes 1.24 可以在GitHub 下载。要开始使用 Kubernetes,请查看这些交互式教程 或通过kind ,使用容器作为“节点”运行本地 Kubernetes 集群。你也可以使用kubeadm 轻松安装 1.24。

发布团队

如果没有 Kubernetes 1.24 发布团队成员的共同努力,这次发布是不可能的。这个团队一起交付每个 Kubernetes 版本的所有组件,包括代码、文档、发行说明等等。

特别感谢我们的发布负责人 James Laverack,他指导我们完成了一个成功的发布周期,并感谢所有发布团队成员投入时间和精力为 Kubernetes 社区发布 1.24 版本。

发布主题和徽标

Kubernetes 1.24:观星者

更多内容请查看该链接:kubernetes.io/blog/2022/0…

转载于:Kubernetes 1.24正式发布,2022年首个大版本更新 - 掘金 (juejin.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/620906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件测试】学习笔记-设计GUI自动化测试策略

这篇文章从“实战”这个角度展开,探讨实际的大型全球化电商网站的GUI自动化测试如何开展。这场实战,从以下两个方面展开: 测试策略如何设计?这一点,我会根据亲身经历的实际项目,和你探讨GUI测试的分层测试…

Leetcode26——引出c++ vector中erase()的内部原理

erase是对数组中某个元素进行删除的操作,实际的时间复杂度为O(n) 预备知识 数组在内存中是连续存储的,删除某个位置的时候不能直接删除,只能用后序的元素覆盖 以nums数组为例,target为需要删除的目标数据 方法: ①…

codeforces (C++ Satisfying Constraints)

题目: 翻译: 思路: 1、找到最大的下限min 2、找到最小的上限max 3、则max-min1满足1、2约束条件的个数 4、max-min1减去约束条件3的个数,即为最终答案 5、如果min大于max,则结果为0,不存在满足约束条件的数…

【天龙怀旧服】攻略day7

关键字: 新星1.49、金针渡劫、10灵 1】新星(苍山破煞) 周三周六限定副本,19.00-24.00 通常刷1.49w,刷149点元佑碎金 boss选择通常为狂鬼难度,八风不动即放大不选,第二排第一个也不选&#xf…

RSIC-V“一芯”学习笔记(二)——Linux入门教程

文章目录 一、前言二、Busybox套件三、重要的追踪工具——strace四、Shell五、正则表达式六、重定向(多次输入测试时)七、一些组合命令八、自动化脚本九、学会查阅十、亲(yuan)近(li) bai du十一、不要逃避困难十二、重视小问题 一…

Grounding DINO:开放集目标检测,将基于Transformer的检测器DINO与真值预训练相结合

文章目录 背景知识补充CLIP (Contrastive Language-Image Pre-training):打破文字和图像之间的壁垒DINO(Data-INterpolating Neural Network):视觉 Transformer 的自监督学习Stable Diffusion:从文本描述中生成详细的图像Open-set Detector开…

分布式事务2PC、3PC

1、概念 分布式事务的二阶段提交(Two-Phase Commit, 2PC)和三阶段提交(Three-Phase Commit, 3PC)是用于处理分布式系统中事务一致性的两种不同的协议。这两种协议的主要区别在于其阶段数和容错性。 二阶段提交(2PC&am…

Vue生成图片并下载

一、安装 html2canvas 在项目安装库 html2canvas npm i html2canvas 二、生成图片 在页面局部加载 html2canvas 库&#xff0c;调用方法生成 <template><div class"page-box"><div class"text-box">文本转图片</div></div>…

【教3妹学编程-算法题】最大频率元素计数

2哥 : 3妹&#xff0c;最近有个电视剧《繁花》非常火&#x1f525;&#xff0c;你听说了吗&#xff1f; 3妹&#xff1a;没有&#xff0c;最近一直在忙着找工作&#xff0c;哪有时间看电视啊 2哥 : 啊&#xff1f;大周末还不休息一下啊&#xff0c;这么辛苦。 3妹&#xff1a;当…

Video接口介绍

屏库 https://m.panelook.cn/index_cn.php Open LDI, open lvds display interface OpenLDI and LVDS是兼容的&#xff0c; 是一种电平 https://www.ti2k.com/178597.html MIPI DSI/Camera crosLink FPD-LINK(Flat panel display link)是National(TI) LVDS技术&#xff0c; …

如何在线生成App:将网页封装成APP

在数字化时代&#xff0c;App已成为我们日常生活中不可或缺的一部分。然而&#xff0c;对于众多企业和个人开发者来说&#xff0c;开发一个原生App既耗时又耗资&#xff0c;尤其当他们已经拥有一个功能完备的网站时。幸运的是&#xff0c;现在有一种方法可以将现有的网页封装成…

k8s node节点加入集群,token过期

1、master01节点执行 kubeadm token create --print-join-command 2、执行命令 kubeadm join 192.168.0.236:16443 --token qucd8q.hsfq4a1afluzaky3 --discovery-token-ca-cert-hash sha256:92175a356db070deb2ddd3823e288e3005a4baeec9b68580dcc11ce4d3767195 3、查看node02…

银行家算法/Banker‘s Algorithm

银行家算法&#xff08;Bankers Algorithm&#xff09;是一个避免死锁&#xff08;Deadlock&#xff09;的著名算法&#xff0c;由艾兹格迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础&#xff0c;判断并保证系统的安全运行。…

【含完整代码】Java定时任务之xxl-job[超详细]

前言 个人博客&#xff1a;www.wdcdbd.com 在Java中使用定时任务是一件很常见的事情&#xff0c;比如使用定时任务在什么时间&#xff0c;什么时候&#xff0c;去发布一些信息&#xff0c;或者去查询一些日志等相关的代码。这时&#xff0c;我们就要开发定时任务这中功能来实现…

PyGWalker,一款超级强大的数据分析和数据可视化的工具库

PyGWalker可以有效简化Jupyter笔记本的数据分析和数据可视化工作流程&#xff0c;方法是将panda数据帧转换为Tableau风格的用户界面进行可视化探索。 PyGWalker被命名为“Graphic Walker的Python绑定”的缩写。它集成了Jupyter笔记本&#xff08;或其他基于Jupyter的笔记本&am…

LeetCode83. Remove Duplicates from Sorted List

文章目录 一、题目二、题解 一、题目 Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well. Example 1: Input: head [1,1,2] Output: [1,2] Example 2: Input: head [1,1…

跳跃游戏【贪心】

Problem: 55. 跳跃游戏 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 简单模拟一下就行。 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution:def canJump(self, nums: List[int]) -> bool:jump_max 1for i, num…

Linux之静态库和动态库

目录 一、前言 二、对于库的理解 三、静态库 四、动态库 五、动静态库的加载 一、前言 在之前&#xff0c;我们讲了静态库和动态库&#xff0c;详情请跳转&#xff1a;静态库和动态库 下面我们将从工程师的角度&#xff0c;去了解静态库和动态库的形成过程&#xff0c;以…

vue3 使用 jsoneditor

vue3 使用 jsoneditor 在main.js中引入 样式文件 import jsoneditor/dist/jsoneditor.css复制代码放到文件中就能用了 jsoneditor.vue <template><div ref"jsonDom" style"width: 100%; height: 460px"></div> </template> <…

什么是uni.request()?如何使用它?

uni.request()是uni-app提供的一个用于发起网络请求的API。 使用uni.request()的步骤如下&#xff1a; 在需要发起网络请求的页面中引入uni.request()方法。 调用uni.request()方法&#xff0c;并传入相应的参数&#xff0c;包括请求地址、请求方法、请求头部和请求数据等。 …