Kubernetes 1.27 正式发布

news2024/11/9 9:37:51

Kubernetes 1.27 正式发布,这是 2023 年的第一个版本。这个版本包括 60 项增强功能。其中 18 项增强功能进入 Alpha、29 项进入 Beta,还有 13 项升级为 Stable 稳定版。

主题和标识

Kubernetes v1.27 的主题是 Chill Vibes

新内容

冻结 k8s.gcr.io镜像仓库

用 registry.k8s.io 替换旧的镜像仓库 k8s.gcr.io,后者已经普遍可用了几个月。Kubernetes 项目创建并运行 registry.k8s.io 镜像仓库,完全由社区控制。这意味着旧的镜像仓库 k8s.gcr.io 将被冻结,并且不会再发布 Kubernetes 和相关子项目的镜像到旧的镜像仓库。

SeccompDefault 升级到稳定版

要使用默认的 seccomp 配置文件,你必须在每个要使用它的节点上使用 --seccomp-default 命令行标志运行 kubelet。如果启用,kubelet 将默认使用 RuntimeDefault seccomp 配置文件,该配置文件由容器运行时定义,而不是使用 Unconfined 模式。默认配置文件旨在提供强大的安全默认值,同时保留工作负载的功能。容器运行时及其发布版本之间的默认配置文件可能不同。

Jobs 可变调度指令 GA

这是在 v1.22 中引入的,开始是作为 beta 级别,现在已经稳定了。在大多数情况下,并行作业会希望 Pod 在约束条件下运行,例如所有 Pod 在同一区域内,或者所有 Pod 都在 GPU model x 或 y 上运行,而不是混合运行。 suspend 字段是实现这些语义的第一步。 suspend 允许自定义队列控制器决定何时启动作业。但是,一旦作业被取消挂起,自定义队列控制器就无法影响作业的 Pod 实际放置位置。

新的功能允许在作业开始之前更新 Jobs 的调度指令,这使得自定义队列控制器能够影响 Pod 的放置,同时将实际的 pod-to-node 的分配卸载给 kube-scheduler。这仅适用于以前从未恢复过的已挂起 Jobs。

DownwardAPIHugePages 升级为稳定版

在 Kubernetes v1.20 中,对 requests.hugepages-<pagesize> 和 limits.hugepages-<pagesize> 的支持被添加到 downward API 中,以便与其他资源如 CPU、内存等一致。这个功能在这个版本中毕业,升级到到稳定版。

Pod 调度进入测试阶段

创建后,Pods 可以进行调度了。Kubernetes 调度器会尽力找到节点来放置所有待定的 Pods。然而,在实际情况中,一些 Pods 可能会长时间处于缺少必要资源的状态。这些 Pod 实际上是以不必要的方式搅乱了调度器(以及下游集成器,如 Cluster Autoscaler)。

通过指定 / 删除 Pod 的 .spec.schedulingGates ,可以控制 Pod 何时可以被考虑进行调度。

通过 Kubernetes API 访问 Node 日志

该功能帮助集群管理员通过允许他们查询服务日志来调试运行在节点上的服务的问题。要使用此功能,请确保在该节点上启用了 NodeLogQuery ,且 kubelet 配置选项 enableSystemLogHandler 和 enableSystemLogQuery 均设置为 true。在 Linux 上,我们假定服务日志可通过 journald 获得。在 Windows 上,我们假定服务日志可在应用程序日志提供程序中获得。你还可以从 Linux 和 Windows 上的 /var/log/ 和 C:\\var\\log 目录中获取日志。

ReadWriteOncePod PersistentVolume 进入测试阶段

Kubernetes v1.22 引入了一种新的访问模式 ReadWriteOncePod,用于 PersistentVolumes(PV)和 PersistentVolumeClaims(PVC)。此访问模式使你能够将卷访问限制为集群中的单个 Pod,确保仅有一个 Pod 可以同时写入该卷。这对于需要对存储进行 single-writer 的有状态工作负载特别有用。

ReadWriteOncePod beta 增加了对使用 ReadWriteOncePod PVC 的 Pod 的调度程序抢占支持。调度程序抢占允许更高优先级的 Pod 抢占低优先级的 Pod。

滚动升级后遵循 PodTopologySpread

matchLabelKeys 是一个 Pod 标签键的列表。这些键用于从 Pod 标签中查找值。这些键值标签与 labelSelector 进行 AND 运算,以选择现有 Pod 组,计算传入 Pod 的分布。在 Pod 标签中不存在的键将被忽略。空列表表示仅匹配 labelSelector 。

使用 matchLabelKeys ,用户无需在不同版本之间更新 pod.spec 。控制器只需为不同版本的同一 label 键设置不同的值。调度程序将根据 matchLabelKeys 自动假定这些值。

使用挂载加速 SELinux 卷重新标记

在此版本中,应用于 Pod 使用的卷的 SELinux 标签的方式将升级为 beta 版本。该功能通过挂载具有正确 SELinux 标签的卷来加快容器启动速度,而不是递归更改卷上的每个文件。支持 SELinux 的 Linux 内核允许在第一次挂载卷的时候使用 -o context= 挂载选项在整个卷上设置 SELinux 标签,从而使所有文件在恒定时间内分配给定标签,而无需递归地遍历整个卷。

VolumeManager 重构进入测试阶段

这是一个卷管理器重构,允许 kubelet 在启动期间填充有关现有卷如何挂载的其他信息。一般来说,这使得卷清理更加稳健。如果在节点上启用 NewVolumeManagerReconstruction,你将在 kubelet 启动期间获得已挂载卷的增强发现功能。

在 Kubernetes v1.25 之前,kubelet 在启动期间发现已挂载的卷时使用了不同的默认行为。如果你禁用此功能(默认情况下启用),则选择传统的发现行为。

更多详情可查看:https://kubernetes.io/blog/2023/04/11/kubernetes-v1-27-release/

相关链接

  • Kubernetes 的详细介绍:点击查看
  • Kubernetes 的下载地址:点击下载

 

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

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

相关文章

replugin宿主与插件通信小结

近来replugin开发中遇到宿主和插件间需要通信的情形&#xff0c;思来只有进程间通信(IPC)才是比较好的宿主与插件的通信方式。而Android进程间通信主要有2种方式&#xff1a;Messenger和AIDL。 AIDL&#xff08;Android Interface Definition Language&#xff09;是Android接…

矩阵和线性代数的应用

矩阵和线性代数是数学中重要的概念&#xff0c;它们被广泛应用于物理、工程、计算机科学、经济学等众多领域。本文将讨论矩阵和线性代数的一些基本概念以及它们在实际应用中的重要性和影响。 一、矩阵和线性代数的基本概念 矩阵是由数字组成的矩形数组。它可以表示线性方程组…

线程池并发服务器

线程池技术 线程池技术是一种典型的生产者-消费者模型。 线程池技术是指能够保证所创建的任一线程都处于繁忙状态&#xff0c;而不需要频繁地为了某一任务而创建和销毁线程&#xff0c;因为系统在创建和销毁线程时所耗费的cpu资源很大。如果任务很多&#xff0c;频率很高&am…

Android中级——系统信息与安全机制

系统信息与安全机制系统信息获取/system/build.prop/procandroid.os.buildSystemPropertyPackageManagerActivityManagerpackages.xmlpermissions标签package标签perms标签安全机制Apk反编译apktooldex2jarjd-guiApk加密系统信息获取 /system/build.prop 存放一些配置信息&am…

Seaborn 变量分布分析

文章目录一、数据集1.1 下载数据集1.2 字段含义说明1.3 导入数据集二、初步分析2.1 缺失值分布查看2.2 异常值分布查看2.3 查看变量分布三、数值变量分析3.1 replot()&#xff1a;多个变量之间的关联关系3.2 lmplot()/regplot&#xff1a;分析两个变量的线性关系3.3 displot()&…

从前序与中序遍历序列构造二叉树——力扣105

题目描述 法一&#xff09;递归 复杂度分析 代码如下 class Solution { private:unordered_map<int, int> index;public:TreeNode* myBuildTree(const vector<int>& preorder, const vector<int>& inorder, int preorder_left, int preorder_ri…

Qt Quick - StackView

StackView 使用总结一、概述二、在应用中使用StackView三、基本的导航1. push Item2. pop Item3. replace Item四、深度链接五、寻找Item六、转换六、Item的所有权七、大小一、概述 StackView可以与一组相互链接的信息页面一起使用。例如&#xff0c;电子邮件应用程序具有单独…

HTML5 <img> 标签

HTML5 <img> 标签 实例 HTML5 <img>标签用于向网页中添加相关图片。 如何插入图像&#xff1a; <img src"smiley-2.gif" alt"Smiley face" width"42" height"42">尝试一下 &#xff08;更多实例见页面底部&…

基于营销类系统运营活动增长带来的数据库设计演进

一、前言 为了支持业务数据的不断增长&#xff0c;在数据库层面的性能提升主要体现在几个维度&#xff1a;1&#xff09;数据降级&#xff1b;2&#xff09;数据主题分而治之&#xff1b;3&#xff09;实时交易转异步&#xff1b;4&#xff09;硬件扩容&#xff0c;当然网上一…

question

4、Mysql高可用有几种方案&#xff0c;分别有什么特点? 特点优点缺点mysql group replication(MGR)组复制组内一半节点同意即可提交更改操作、最多支持 9 个节点、基于MRG插件、多节点写入支持、故障自动检测、引擎必须为 innodb、必须有主键、binlog 为 row强一致、paxos协议…

Arcgis Engine之打开MXD文档

Arcgis Engine之打开MXD文档概述方法一&#xff1a;方法二&#xff1a;概述 图层加载功能将用到MapControl 控件提供的LoadMxFile 方法。 该方法通过指定的*. Mxd文档路径直接获取 该方法第一个参数是文件路径&#xff0c; 第二个参数是MExd文档中地图的名称或索引&#xff0…

1.初识Earth Engine

Earth Engine平台是一个集科学分析和地理信息可视化的综合性平台&#xff0c;该平台提供丰富的API&#xff0c;以及工具帮助方便查看、计算、处理、分析大范围的各种影像等GIS数据。 基础数据 目前Earth Engine上已由几十PB的影像栅格数据及矢量数据数据地址。数据主要分为以…

Prometheus+Grafana从0到1搭建jvm监控

目 录1. 准备工作2. 添加配置2.1 添加maven依赖2.2 application.properties增加配置2.3 新增配置类2.4 配置Prometheus2.5 配置Grafana3. 小结在上一篇博客《 PrometheusMysqld_exporterGrafana从0到1搭建MySQL的可视化监控》&#xff0c;我们完成了对数据库的可视化监控搭建&a…

都说程序员就是吃青春饭,35岁就会被淘汰,我用自己的经历来告诉你事实

上个假期我回家了&#xff0c;遇到三姑六婆总会问我读研没读、工作怎么样、薪资多少等等问题&#xff0c;相信大家也都遇到过。我一般会用“在做程序员&#xff0c;写代码的这种话”来敷衍他们&#xff0c;但没想到他们懂得还挺多的&#xff0c;又搬出了一套关于程序员的理论&a…

当AI遇上元宇宙:智能科技如何助力虚拟世界的发展?

欢迎来到Hubbleverse &#x1f30d; 关注我们 关注宇宙新鲜事 &#x1f4cc; 预计阅读时长&#xff1a;10分钟 本文仅代表作者个人观点&#xff0c;不代表平台意见&#xff0c;不构成投资建议。 人工智能和元宇宙是21世纪最突出的技术之一。它们各自可以在许多方面提高人们…

MySQL、PostgreSQL、Oracle、SQL Server数据库触发器实现同步数据

数据库触发器是一种在数据库中设置的程序&#xff0c;当满足某些特定条件时&#xff0c;它会自动执行。触发器通常与数据表的操作&#xff08;例如插入、更新和删除&#xff09;相关联&#xff0c;它们可以帮助保证数据的完整性和一致性。在本篇博客中&#xff0c;我将介绍各种…

对SQL注入进行的一些总结

简介 SQL注入作为一种攻击方式最早可以追溯到20世纪90年代中期&#xff0c;当时Web应用程序开始流行并广泛使用数据库作为其后端数据存储。最早的SQL注入攻击是通过简单地在Web表单输入框中输入SQL代码来实现的&#xff0c;攻击者可以通过修改输入参数来篡改数据库查询的行为&a…

Pytorch 容器 - 2. Module的属性访问 modules(), children(), parameters(), buffers()等

目录 1. modules() 和 named_modules() 2. children() 和 named_children() 3. parameters() 和 named_parameters() 4. buffers() 和 named_buffers() Module类内置了很多函数&#xff0c;其中本文主要介绍常用的属性访问函数&#xff0c;包括&#xff1a; modules(), nam…

Spring事务源码-EnableTransactionManagement实现解析

Transactional注解 Transactional是spring中声明式事务管理的注解配置方式。Transactional注解可以帮助我们标注事务开启、提交、者回滚、事务传播、事务隔离、超时时间等操作。 而EnableTransactionManagement是开启Spring 事务的入口。 EnableTransactionManagement 标注启…

什么是数字人?数字人可以应用在哪些行业?

数字人指的是由计算机技术、人工智能技术和大数据技术等多种技术手段构建的一种虚拟的人类形态。数字人通常具备丰富的信息处理能力、模拟能力和学习能力&#xff0c;可以根据人们的需求进行智能化定制服务。 数字人 在很多行业领域&#xff0c;数字人都被广泛应用&#xff0…