当前位置: 首页 > 科技观察

Kubernetes1.23:探索新领域

时间:2023-03-13 18:19:57 科技观察

今天,我们很高兴地宣布,Kubernetes正式迎来1.23版本,这也是2021年的最后一次版本更新。该版本包含47项增强功能:11项增强功能已升级至稳定版,17个增强功能进入beta阶段,19个增强功能进入Alpha版本,1个功能被弃用。要点弃用的FlexVolumeFlexVolume已弃用。Kubernetes现在确定将out-of-treeCSI驱动程序编写为默认存储卷驱动程序。有关详细信息,请参阅文档。FlexVolume驱动程序的维护者应该转移到CSI驱动程序并帮助FlexVolume用户进行CSI迁移。这里还要提醒一下,FlexVolume将工作负载卸载到CSI驱动程序。弃用klog特定标记为了简化代码库,Kubernetes1.23版本将弃用多个日志标记;后续版本将逐步淘汰相关实现代码,请用户根据实际需要选择可行的替代标记方案。Kubernetes发布过程中的软件供应链SLSA1级合规性Kubernetes发布现在可以生成证明文档,描述发布过程中的各个阶段和实际发布阶段。工件现在在从一个阶段传递到下一个阶段时得到准确验证。最后阶段是确保Kubernetes分发实际上遵循SLSA安全框架级别L1(软件工件的供应链级别)的合规性要求。IPv4/IPv6双栈网络已经升级到通用版本IPv4/IPv6双栈网络已经升级到通用版本。从1.21版本开始,Kubernetes集群默认支持双栈网络。在1.23版本中,我们进一步删除了IPv6DualStack功能门。我们不强制使用双栈网络——尽管在集群中启用了双栈网络支持,但Pod和服务仍然默认为单栈。要使用双栈网络,您的Kubernetes节点必须具有可路由的IPv4/IPv6网络接口,必须使用支持双栈的CNI网络插件,必须将Pod配置为双栈,并且必须具有服务的.spec.ipFamilyPolicy字段设置为它是PreferDualStack或RequireDualStack。Horizo??ntalPodAutoscalerv2升级到普遍可用性Horizo??ntalPodAutscalerautoscaling/v2稳定API已升级到1.23的普遍可用性。相应地,Horizo??ntalPodAutoscalerautoscaling/v2beta2API已被弃用。TheGenericEphemeralVolume(通用临时卷)功能升级到通用版通用临时卷功能在1.23升级到通用版。此功能允许用户使用任何支持动态配置的现有存储驱动器作为临时存储卷,并将存储卷的生命周期绑定到相应的Pod。此功能还支持存储卷配置中的所有StorageClass参数以及PersistentVolumeClaims支持的所有内容。SkipVolumeOwnershipchangeshavegraduatedtogeneralavailability此用于配置存储卷权限和所有权更改策略的功能已在1.23中升级为全面可用性,以帮助用户通过挂载递归权限更改并加快pod启动时间。允许CSI驱动程序选择加入卷所有权和权限更改的能力已升级到普遍可用性此功能允许CSI驱动程序以声明方式支持基于fsGroup的权限,并已升级到1.23中的普遍可用性。PodSecurity升级到Beta版PodSecurity迎来了Beta版。PodSecurity取代了已弃用的PodSecurityPolicy准入控制器;它本身可以充当准入控制器,根据设置的强制级别中的特定命名空间标签,为命名空间中的pod执行安全标准。在1.23版本中,Kubernetes默认开启了PodSecurity功能门。容器运行时接口(CRI)v1现在是默认设置Kubelet现在支持CRIv1API作为项目范围的默认设置。如果容器运行时不支持v1API,Kubernetes将回退到v1alpha2实现。最终用户不需要执行任何中间操作,因为v1和v1alpha2在具体实现上没有区别。v1alpha2预计将在后续的Kubernetes版本中移除,确保所有开发工作都集中在v1上。StructuredLog升级到Beta版StructuredLog迎来了Beta版。目前,kubelet和kube-scheduler中的大部分日志信息已经转换。我们鼓励用户尝试JSON输出或使用结构化文本格式进行解析,并向我们提供有关潜在问题和可能解决方案的反馈,例如日志值中的多行字符串处理等。简化调度程序Kube的多点插件配置机制-scheduler将为插件添加一个新的、简化的配置字段,允许用户在一个位置启用多个扩展点。这个新的multiPoint(多点)插件字段将帮助管理员简化大多数调度程序设置。通过multiPoint启用的插件将自动注册到它们实现的每个单独的扩展点。例如,您可以同时在Score和Filter扩展点上启用相同的插件。这使得启用和禁用扩展点上的所有插件变得容易,而无需手动编辑各个扩展点设置。并且由于它不影响大多数用户的实际使用,我们决定抽象掉这些扩展点。CSI迁移更新CSI迁移(CSIMigration)将现有树中的存储插件替换为相应的CSI驱动,例如kubernetes.io/gce-pd或kubernetes.io/aws-ebs。如果CSIMigration正常运行,Kubernetes最终用户不会感觉到任何差异。迁移完成后,Kubernetes用户可以在现有界面上继续使用所有树中存储插件的所有功能。CSIMigration功能默认开启,但在1.23版本中在GCEPD、AWSEBS和AzureDisk上仍处于Beta阶段。在1.23版本中,CSIMigration在CephRBD和Portworx上仍处于Alpha版本。CRDExpressionLanguageValidation升级为Alpha版本从1.23版本开始,CRDExpressionLanguageValidation(CRD的表达式语言验证)正式进入Alpha版本阶段。只要启用CustomResourceValidationExpressions函数门,就意味着自定义资源将通过通用表达式语言(CEL)规则进行验证。服务器端字段验证升级到Alpha版本。在1.23版本启用ServerSideFieldValidation功能门后,用户在发送包含未知或重复字段的请求的Kubernetes对象时,会收到服务器端的警告。同时,服务器将简单地丢弃以前未知的字段和除最后一个重复字段之外的所有前面重复的字段。启用此功能门后,我们还将引入fieldValidation查询参数,以便用户可以在每个请求的基础上指定服务器的适当行为。这里的fieldValidation查询参数的有效值为:Ignore(函数门关闭时的默认值,效果与1.23之前版本删除/忽略未知字段的行为相同)。警告(启用功能门控时的默认设置)。Strict(会导致包含InvalidRequest错误的请求直接失败)。OpenAPIv3升级到Alpha版本从1.23版本开始,如果启用OpenAPIV3功能门,用户将能够为所有Kubernetes类型请求OpenAPIv3.0规范。OpenAPIv3是完全透明的,可以支持一组在OpenAPIv2发布时丢弃的字段,包括:default、nullable、oneOf、anyOf。V3还发布了每个Kubernetes组版本的特定规范(位于$cluster/openapi/v3/apis//端点)以提高性能和可发现性,所有组版本都可以在$cluster/openapi/v3中找到路径上发现。稳定功能毕业IPv4/IPv6双栈支持:https://github.com/kubernetes/...s/563跳过卷所有权更改:https://github.com/kubernetes/...s/695TTL完成后控制器:https://github.com/kubernetes/...s/592CSI驱动程序对象中的FSGroup配置策略https://github.com/kubernetes/.../1682通用临时联合存储卷:https://github.com/kubernetes/。../1698通过静态分析保护秘密日志:https://github.com/kubernetes/.../1933Namespace-scoped入口类参数:https://github.com/kubernetes/.../2365减少Kubernetes建设和维护的负担:https://github.com/kubernetes/.../2420HPAAPI升级到通用版本:https://github.com/kubernetes/.../2702APIserver的重要变化请求优先级和公平性:https://github.com/kubernetes/.../1040发行说明有关完整的发行说明信息,请参阅Kubernetes1.23发行说明。可用性Kubernetes1.23现在可以从GitHub下载。要开始使用Kubernetes,建议您先观看交互式教程或按种类运行带有Docker容器“节点”的本地Kubernetes集群。您还可以使用kubeadm轻松安装最新版本1.23。ReleasethemeandlogoKubernetes1.23:ExploringtheNewFrontier“下一个前沿(TheNextFrontier)”的主题反映了1.23版本中新的、渐进的增强,希望整个社区的成员都能秉承的精神剧组成员具有不断探索和成长的精神。Kubernetes一直有向《星际迷航》致敬的传统。早在谷歌内部的酝酿期,Kubernetes最初的代号是Project7,代表《星际迷航:航海家号》中的Borg人角色7/9。《探索新领域》也鲜明延续了《星际迷航》院线影视剧的冒险精神。“探索新领域”也是对我们项目的SIG发布章程的重申,该章程“确保长期的发布过程得到统一的社区成员群体的支持”。成为众多开源领域新朋友的第一家。参考链接:https://kubernetes.io/blog/201...etes/参考链接:https://github.com/kubernetes/...er.mdKubernetes1.23版本的标志继续致敬《星际迷航》,里面的每一颗星星都代表着Kubernetes项目的一个leader。熟悉的企业形象代表了整个出版团队的团结和力量。新版标志由ReyLejano设计。