CCE发布Kubernetes 1.27版本说明 本节主要介绍CCE发布Kubernetes 1.27版本 云容器云容器引擎(CCE)严格遵循社区一致性认证,现已支持创建Kubernetes 1.27集群。本文介绍Kubernetes 1.27版本相对于1.25版本所做的变更说明。 主要特性 Kubernetes 1.27版本 SeccompDefault特性已进入稳定阶段 如需使用SeccompDefault特性,您需要为每个节点的kubelet启用seccompdefault命令行标志。如果启用该特性,kubelet将为所有工作负载默认使用RuntimeDefault seccomp配置文件,该配置文件由容器运行时定义,而不是使用Unconfined(禁用seccomp)模式。 Job可变调度指令 该特性在Kubernetes 1.22版本中引入,当前已进入稳定阶段。在大多数情况下,并行作业Pod希望在一定的约束下运行,例如希望所有Pod在同一可用区。该特性允许在Job开始前修改调度指令。您可以使用suspend字段挂起Job,在Job挂起阶段,Pod模板中的调度部分(例如节点选择器、节点亲和性、反亲和性、容忍度)允许修改。 Downward API HugePages已进入稳定阶段 在Kubernetes 1.20版本中,Downward API引入了 requests.hugepages 和 limits.hugepages ,HugePage可以和其他资源一样设置资源配额。 Pod调度就绪态进入Beta阶段 Pod创建后,Kubernetes调度程序会负责选择合适的节点运行pending状态的Pod。在实际使用时,一些Pod可能会由于资源不足长时间处于pending状态。这些Pod可能会影响集群中的其他组件运行(如Cluster Autoscaler)。通过指定/删除Pod的.spec.schedulingGates,您可以控制Pod何时准备好进行调度。 通过Kubernetes API访问节点日志 此功能当前处于Alpha阶段。集群管理员可以直接查询节点上的服务日志,可以帮助调试节点上运行的服务问题。如需使用此功能,请确保在该节点上启用了NodeLogQuery特性门控,并且kubelet配置选项enableSystemLogHandler和enableSystemLogQuery都设置为true。 ReadWriteOncePod访问模式进入Beta阶段 在Kubernetes 1.22版本中,PV和PVC提供了一种新的访问模式ReadWriteOncePod,该功能当前进入Beta阶段。卷可以被单个Pod以读写方式挂载。如果您想确保整个集群中只有一个Pod可以读取或写入该PVC,请使用ReadWriteOncePod访问模式。 Pod拓扑分布约束中matchLabelKeys字段进入Beta阶段 matchLabelKeys是一个Pod标签键的列表,用于选择需要计算分布方式的Pod集合。使用matchLabelKeys字段,您无需在变更Pod修订版本时更新pod.spec。控制器或Operator只需要将不同修订版的标签键设为不同的值。调度器将根据matchLabelKeys自动确定取值。 快速标记SELinux卷标签功能进入Beta阶段 默认情况下,容器运行时递归地将SELinux标签赋予所有Pod卷上的所有文件。 为了加快该过程,Kubernetes使用挂载可选项 o context 可以立即改变卷的SELinux标签。 VolumeManager重构进入Beta阶段 重构的VolumeManager后,如果启用NewVolumeManagerReconstruction特性门控,将会在kubelet启动期间使用更有效的方式来获取已挂载卷。 服务器端字段校验和OpenAPI V3已进入稳定阶段 Kubernetes 1.23中添加了对OpenAPI v3的支持,1.24版本中已进入Beta阶段,1.27已进入稳定阶段。 控制StatefulSet启动序号 Kubernetes 1.26为StatefulSet引入了一个新的Alpha级别特性,可以控制Pod副本的序号。 从Kubernetes 1.27开始,此特性进入Beta阶段,序数可以从任意非负数开始。 HorizontalPodAutoscaler ContainerResource类型指标进入Beta阶段 Kubernetes 1.20在HorizontalPodAutoscaler (HPA) 中引入了ContainerResource类型指标。在 Kubernetes 1.27中,此特性进阶至Beta,相应的特性门控 (HPAContainerMetrics) 默认被启用。 StatefulSet PVC自动删除进入Beta阶段 Kubernetes v1.27提供一种新的策略机制,用于控制StatefulSets的PersistentVolumeClaims(PVCs)的生命周期。这种新的PVC保留策略允许用户指定当删除StatefulSet或者缩减StatefulSet中的副本时,是自动删除还是保留从StatefulSet规约模板生成的PVC。 磁盘卷组快照 磁盘卷组快照在Kubernetes 1.27中作为Alpha特性被引入。 此特性允许用户对多个卷进行快照,以保证在发生故障时数据的一致性。 它使用标签选择器来将多个PersistentVolumeClaims分组以进行快照。 这个新特性仅支持CSI卷驱动器。 kubectl apply裁剪更安全、更高效 在Kubernetes 1.5版本中,kubectl apply引入了prune标志来删除不再需要的资源,允许kubectl apply自动清理从当前配置中删除的资源。然而,现有的prune实现存在设计缺陷,会降低性能并导致意外行为。 为NodePort Service分配端口时避免冲突 在Kubernetes 1.27中,您可以启用新的特性门控ServiceNodePortStaticSubrange,为NodePort Service使用不同的端口分配策略,减少冲突的风险。当前该特性处于Alpha阶段。 原地调整Pod资源 在Kubernetes 1.27中,允许用户调整分配给Pod的CPU和内存资源大小,而无需重新启动容器。 加快Pod启动 在Kubernetes 1.27中进行了一系列的参数调整,以提高Pod的启动速度,例如并行镜像拉取、提高Kubelet默认API每秒查询限值等。 KMS V2进入Beta阶段 Kubernetes中的密钥管理KMS v2 API进入Beta阶段,对KMS加密提供程序的性能进行了重大改进。