Kubernetes 1.27 正式发布
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/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
首个 Go 零代码单测 unitauto-go 1.0 正式版,UnitAuto 的 Go 语言实现
UnitAuto - 机器学习零代码单元测试平台 机器学习单元测试平台,零代码、全方位、自动化 测试 方法 / 函数 的正确性、可用性和性能。 腾讯 IEG (互动娱乐事业群)、WXG (微信事业群) 两大事业群多个部门的多个项目以及快手广告使用中。 已被 互联网教育智能技术及应用国家工程实验室 收录。 特点优势 相比 JUnit, JTest, Mockito, Mockk 等一堆 Compiling testing 工具: 1.其它工具需要每个方法都写一大堆测试代码,需要开发成本、需要解决测试代码的 bug、业务代码更改后需要同步修改测试代码等; UnitAuto 不需要写任何代码,直接读取方法的属性,自动注入参数,拿到返回值和类成员变量,机器学习零代码自动化断言。 2.UnitAuto 这种 Runtime testing 工具无需 Mock 环境(Application, Context 等), 更不用为 无法有效地 Mock 环境相关类、第三方登录未提供 Mock 支持 等而头疼, 只要被测方法满足 有 return 值、有 interface 回调、改变成员变量 field...
- 下一篇
openGemini 1.0 版本,带来哪些新特性和性能提升?
3月30日,openGemini社区发布了v1.0.1版本,较v1.0.0版本,主要修复了一些异常场景下的发现的问题,欢迎大家下载试用和反馈。 v1.0版本新增了多个关键特性,并在数据压缩算法、内存管理、查询引擎等方面做了大量优化工作,整体性能取得进一步提升 由于对数据压缩算法进行了修改,v1.0版本与v0.2版本的数据存在不兼容 社区地址:https://github.com/openGemini 社区联系方式:http://opengemini.org/contact-us 性能优化 内存优化 内存优化是性能优化中非常重要的一部分,openGemini的关键优化项如下: 优化乱序文件合并流程 乱序文件合并不再将乱序文件全部加载到内存,改为流式合并方式,不同数据模型下,内存开销可减少20%-80%不等。 优化索引搜索流程 一方面在查询场景中,设置时间线内存分配上限,避免因无节制对内存索取,对其他查询请求造成影响;另一方面在查询数据组装过程中,放弃内存拷贝,改为数据原地更新,相比优化前,单次查询可减少40%内存空间使用。 查询场景优化 通常一个查询请求到来后,在open...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16