Kubernetes 1.35版本说明
CCE Autopilot严格遵循社区一致性认证,现已支持Kubernetes 1.35集群版本特性。本文介绍Kubernetes 1.35版本的变更说明。
新增特性及特性增强
- Support managedBy field for Jobs(GA)
在Kubernetes 1.35中,Support managedBy field for Jobs进阶至GA。此功能在Jobs中引入了.spec.managedBy。您可以通过该字段指定外部控制器(如Kueue、MultiKueue等),将Job的同步逻辑与状态更新委托给指定的外部控制器。详细使用方式请参考Job的managedBy字段支持。
- Pod Generation(GA)
在 Kubernetes 1.35 中,Pod Generation 进阶至 GA。此功能为 Pod 启用metadata.generation并在 PodSpec 更新时自动递增,同时新增status.observedGeneration字段,由 kubelet 上报以标识已观测到的 Pod 配置版本。详细介绍请参考 Pod Generation 特性支持。
- Node Topology Downward API(Beta)
在 Kubernetes 1.35 中,Node Topology Downward API 进阶至 Beta。此功能通过内置PodTopologyLabels准入插件,将节点标准拓扑标签同步至 Pod,支持通过 Downward API 供容器直接获取区域、可用区、主机名等拓扑信息,无需特权初始化容器。详细介绍请参考节点拓扑信息 Downward API 暴露。
- Storage Version Migrator in-tree(Beta)
在 Kubernetes 1.35 中,Storage Version Migrator in-tree 进阶至 Beta。此功能将存储版本迁移器(SVM)从外部组件移入内核并集成到 kube-controller-manager,提供标准化StorageVersionMigration API。详细使用方式请参考存储版本迁移器内核集成。
- Mutable CSINode Allocatable(Beta)
在 Kubernetes 1.35 中,Mutable CSINode Allocatable 进阶至 Beta。此功能支持动态修改CSINode.Spec.Drivers[*].Allocatable.Count字段,在卷挂载因容量不足失败时自动修正容量信息,避免调度器基于过时数据导致 Pod 卡住。详细介绍请参考可变更 CSINode 可分配容量特性。
- StatefulSet maxUnavailable(Beta)
在 Kubernetes 1.35 中,StatefulSet maxUnavailable 进阶至 Beta。此功能为 StatefulSet 滚动更新策略新增maxUnavailable字段,支持配置更新时最大不可用 Pod 数(支持数值或百分比)。详细使用方式请参考 StatefulSet 滚动更新 maxUnavailable 特性。
- KYAML(Beta)
在 Kubernetes 1.35 中,KYAML 进阶至 Beta。此功能为 kubectl 新增kyaml输出格式(-o kyaml),兼容标准 YAML 解析器。详细使用方式请参考 KYAML 安全输出格式。
- Configurable HPA tolerance(Beta)
在 Kubernetes 1.35 中,Configurable HPA tolerance 进阶至 Beta。此功能为原生HPA 扩缩容策略新增tolerance配置项。详细使用方式请参考 HPA 可配置扩缩容容忍度特性。
- Container Restart Rules(Beta)
在 Kubernetes 1.35 中,Container Restart Rules 进阶至 Beta。此功能为容器新增restartPolicy与restartPolicyRules配置,可覆盖 Pod 级重启策略。详细使用方式请参考容器重启规则特性。
- CSI driver service account tokens via secrets field(Beta)
在 Kubernetes 1.35 中,此功能支持将 CSIDriver 对象中的spec.serviceAccountTokenInSecrets字段设为true,以支持将服务账号令牌通过 CSI 请求的专用 secrets 字段传递,替代volume_context 字段,避免敏感令牌泄露。详细说明请参考 CSI 驱动服务账号令牌安全传递特性。
- Consider Terminating Pods in Deployments(Beta)
在 Kubernetes 1.35 中,Consider Terminating Pods in Deployments 进阶至 Beta。此功能为 Deployment 与 ReplicaSet 新增status.terminatingReplicas字段,统计处于终止中的 Pod 数量。详细介绍请参考 Deployment 终止副本统计特性。
API变更与弃用
- Kubernetes自1.35版本起cgroupv1被标记为弃用并默认不支持。CCE Autopilot集群在1.35集群兼容cgroupv1节点操作系统。
- 在 Kubernetes 1.35 中,为 CustomResourceDefinition 的 conditions 字段添加了 ObservedGeneration
- 在 Kubernetes 1.35 中,新增 StorageVersionMigration v1beta1 API 并移除 v1alpha1 API,升级前必须删除所有 v1alpha1 资源。
- 在 Kubernetes 1.35 中,更新 kuberc 配置架构,新增 credPluginPolicy 和 credPluginAllowlist 两个可选配置字段。
- 在 Kubernetes 1.35 中,DRA 核心功能特性门控已锁定为默认启用且无法再被关闭。
- 在 Kubernetes 1.35 中,默认启用 kubectl get -o kyaml,可通过设置 KUBECTL_KYAML=false 关闭该行为。
- 在 Kubernetes 1.35 中,ReplicaSet 与 Deployment 的 status.terminatingReplicas 统计特性升级至 Beta 并默认启用。
在 Kubernetes 1.35 中,JobManagedBy 特性升级至 GA,特性门控锁定为 true 并将在后续版本移除。
CCE对Kubernetes 1.35版本的增强
在版本维护周期中,CCE会对Kubernetes 1.35版本进行定期的更新,并提供功能增强。
关于CCE Autopilot集群版本的更新说明,请参见补丁版本发布说明。