刚刚,Kubernetes 1.26正式发布了

1a3012facd4b5b83482db2bd8d16c563.gif

很高兴向大家宣布,Kubernetes 1.26正式发布了。

此版本共包含37项增强功能:其中11项升级为稳定版,10项更新为beta版,另外16项则刚刚进入alpha版。我们还弃用或移除了12项功能,本公告将具体介绍其中3项。

 1 

版本主题与徽标

4e87c2c59c8c2063c973a319de010522.png

Kubernetes v1.26的主题是Electrifying——电气化。

Kubernetes的每个版本都是志愿者们协同努力的结果,也离不开全球各处数据中心和地区所贡献的计算资源集。发布的最终结果,包括二进制文件、镜像容器和文档等,也会被部署在越来越多的个人、本地和云端计算资源当中。

在此次新版本中,我们希望大家能认识到Kubernetes当中这些构建块的重要意义,同时提高人们对于碳足迹重要性的认识。环境可持续性是每一位创造者、每一位软件产品用户都不能忽视的问题,Kubernetes也将高度重视自身运行给环境造成的影响。

作为社区,我们始终致力于让每个新版本的发布都比之前更好(例如在此版本中,我们开始通过Projects跟踪增强功能)。以1.24“Stargazer”为例,它让我们看到了社区齐聚一堂的可能性;1.25“Combiner”则表现出社区团结一致所迸发出的能量;至于1.26“Electrifying”,我们要感谢大家为新版本付出的一切点滴努力。

 2 

核心主题

Kubernetes 1.26包含诸多变化。这一次,全球志愿者团队为大家带来了以下几大核心主题。

容器镜像注册表的变化

在之前的版本中,Kubernetes改变了容器注册表,允许将负载分散至多个云服务商及区域。这样就减少了对单一实体的依赖,同时让大量用户获得了更快的下载体验。

这个Kubernetes版本也成为首个使用新的registry.k8s.io容器镜像注册表进行发布的版本。原先的k8s.gcr.io镜像注册表不再发布1.26版本的容器镜像标签,只会继续更新1.25及之前的版本标签。

CRI v1alpha2被移除

随着容器运行时接口(CRI)的采用和dockershim在1.24版中被移除,CRI已经成为Kubernetes与不同容器运行时进行交互的唯一官方指定方式。就是说,各个kubelet会通过协商使用CRI版本及节点上的容器运行时。

在之前的版本中,Kubernetes项目推荐使用CRI v1版本,但kubelet仍可协商使用CRI v1 alpha2——一个已被弃用的旧版本。

Kubernetes 1.26不再支持CRI v1alpha2。因此如果容器运行时不支持CRI v1,则移除后kubelet将无法注册节点。也就是说,Kubernetes 1.26不再支持containerd的次要版本1.5及更早版本;要继续使用containerd,大家需要升级至containerd 1.6.0或更高版本,之后才能将节点升级至Kubernetes v1.26。

同样的情况也适用于其他只支持v1alpha2的容器运行时:如果这一改动会影响到你,请联系容器运行时提供商寻求建议,或查看其网站以查阅其他说明。

存储改进

继上个版本中核心容器存储接口(CSI)的迁移功能迎来通用版本后,这次我们又继续推动这项持续性迁移工作,在v1.26中持续添加(和移除)符合迁移目标的功能,并对Kubernetes存储做出其他改进。

Azure File和vSphere的CSI迁移升级至稳定版

vSphere和Azure树内驱动程序的CSI迁移已升级至稳定版。你可以在vSphere CSI驱动程序[1]和Azure文件CSI驱动程序仓库内[2]找到相关信息。

将FSGroup委托给CSI驱动程序的功能迎来稳定版

此功能允许Kubernetes在挂载存储卷时,将Pod的fsGroupd委托给CSI驱动程序,这样后者就能使用挂载选项来控制存储卷权限。以往,kubelet会始终根据Pod .spec.securityContext.fsGroupChangePolicy字段中指定的策略将fsGroupownership及权限变更应用于存储卷内的文件。从此版本开始,CSI驱动程序可以通过该选项在存储卷的附加或挂载期间,应用fsGroup设定。

树内GlusterFS驱动程序被移除

树内GlusterFS驱动程序在v1.25中已被弃用,在本次v1.26中被正式移除。

树内OpenStack Cinder驱动程序被移除

新版本移除了已被弃用的OpenStack树内存储集成(cinder存储卷类型)。现在,你应改为从https://github.com/kubernetes/cloud-provider-openstack迁移至外部云服务商和CSI驱动程序。关于更多详细信息,请参阅从Cinder树内到CSI驱动程序迁移[3]。

Kubernetes发布工件签名现已升级至beta版

此功能在v1.24版初次引入,是Kubernetes发布过程安全性的一大重要里程碑。所有发布工件均使用cosign进行了无密钥签名,且可验证二进制工件与镜像。

Windows高权限容器支持升级至稳定版

高权限容器支持,允许容器以类似于主机上所运行进程的方式获取权限。Windows节点中的功能支持被称为HostProcess容器,现已升级为稳定版,允许用户通过高权限容器访问主机资源(包括网络资源)。

Kubernetes多项指标迎来改进

新版本对多项指标做出重要改进。

指标框架扩展升级至alpha

指标框架扩展升级至alpha,现可针对Kubernetes代码库中的各项指标发布文档。这次功能增强还为Kubernetes指标添加了两个额外的元数据字段:Internal与Beta,分别代表指标成熟度的不同阶段。

组件健康服务水平指标(Component Health Service Level Indicators)升级至alpha

这项功能增强同样提高了Kubernetes指标的功能性。通过启用ComponentSLI功能指标,其将提供额外的指点端点,允许将原始健康检查计算服务水平目标(SLO)数据转换为公制格式。

功能指标现已开启

现在,各Kubernetes组件均已支持功能指标。用户可以检查组件指标端点的kubernetes_feature_enabled以跟踪是否启用了各活动功能门。

动态资源分配升级至alpha

动态资源分配的作用,是将资源调度权交付到第三方开发者手中:它为请求访问资源(例如nvidia.com/gpu: 2)的受限“可数”接口提供了一种替代方案,类似于API之于持久存储卷。在底层,它使用容器设备接口(CDI)进行设备注入。此功能可被DynamicResourceAllocation功能阻止。

入口控制中的CEL升级至alpha

此功能引入一个v1alpha1 API以验证准入策略,经由通用表达式语言实现了可扩展的准入控制功能。目前,自定义策略是通过admission webhooks执行的,虽然灵活度较高,但与进程内策略执行相比也有一些缺点。要使用此功能,请通过--runtime-config启用ValidatingAdmissionPolicy功能门及admissionregistration.k8s.io/v1alpha1 API。

Pod调度改进

Kubernetes v1.26引入了多项相关功能增强,旨在更好地控制调度行为。

PodSchedulingReadiness升级至alpha

此功能向Pod API引入了.spec.schedulingGates字段,用以指示是否允许调度该Pod。外部用户/控制器可以结合自身策略和需求,使用此字段阻止Pod的调度。

NodeInclusionPolicyInPodTopologySpread升级至beta

通过在topologySpreadConstraints中指定一个nodeInclusionPolicy,你可以控制是否需要在计算Pod Topology Spread偏度时考虑taints/tolerations。

 3 

其他更新

升级至稳定版

此版本中共有11项增强功能升级至稳定版:

  • Windows高权限容器支持

  • vSphere树内到CSI驱动程序迁移

  • 允许Kubernetes在挂载时,将pod的fsgroup应用至CSI驱动程序

  • Azure file树内迁移至CSI驱动程序

  • 无需lingering Pod进行作业跟踪

  • 服务内流量策略

  • Kubelet凭证提供程序

  • 支持type-LoadBalancer的服务内混合协议

  • 为动态和静态IP分配保留服务IP范围

  • CPUManager

  • DeviceManager

弃用与移除

此版本弃用或移除了共12项功能:

  • CRI v1alpha2 API已移除

  • v1beta1流控制API组被移除

  • v2beta2 HorizontalPodAutoscaler API被移除

  • 从可用树内驱动程序中移除了GlusterFS插件

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

  • 移除了kube-proxy用户空间模式

  • 移除了树内凭证管理代码

  • 移除了树内OpenStack云提供程序

  • 移除了动态kubelet配置

  • 移除了非包容性kubectl标记

  • 移除了kube-apiserver命令行参数

  • 移除了kubectl run命令行参数

发行说明

关于Kubernetes v1.26版本的完整信息,请参阅我们的发行说明:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.26.md

发布情况

Kubernetes v1.26现已在Kubernetes站点上[4]开放下载。要开始使用Kubernetes,请参阅交互式教程[5]或使用容器作为“节点”运行本地Kubernetes集群(参见:https://kind.sigs.k8s.io/)。你也可以使用kubeadm轻松安装v1.26。

相关链接:

  1. https://github.com/kubernetes-sigs/vsphere-csi-driver

  2. https://github.com/kubernetes-sigs/azurefile-csi-driver

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

  4. https://k8s.io/releases/download/

  5. https://kubernetes.io/docs/tutorials/

10T 技术资源大放送!包括但不限于:Linux、虚拟化、容器、云计算、网络、Python、Go 等。在 开源Linux 公众号内回复 10T,即可免费获取!

Linux学习指南
有收获,点个在看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值