- 文档首页
容器服务
容器服务 VKE
产品动态
Kubernetes 版本发布记录
(停止维护)容器服务发布 Kubernetes v1.28 版本说明
Kubernetes 版本发布记录
(停止维护)容器服务发布 Kubernetes v1.28 版本说明
(停止维护)容器服务发布 Kubernetes v1.28 版本说明
火山引擎容器服务(VKE)严格遵循社区一致性认证。本文介绍容器服务发布 Kubernetes 1.28 版本所做的变更说明。
版本发布说明
表1:核心组件及说明
表2:Kubernetes 版本与容器服务版本对应关系
Kubernetes 社区版本解读
重大更新
- 在 Kubernetes v1.28 中,Scheduling Framework 对插件调用进行优化,减少不必要重试。如果集群中使用了自定义调度器插件,建议对扩展插件进行改造以提升整体调度性能。详情请参见:Scheduling Framework 优化。
- 在 Kubernetes v1.28 中,废弃 CephFS 和 RBD 树内存储插件,并计划在 Kubernetes v1.31 中删除,建议转为使用第三方存储驱动 CephFS CSI。
增量功能和特性
在 Kubernetes v1.28 版本
- 控制面和节点的版本兼容偏差从 n-2 变更为 n-3 ,兼容版本数的增加可以减少节点升级带来的中断次数。详情请参见:版本偏差策略。
- 节点非优雅关闭(Non-graceful node shutdown)功能进入 GA 阶段,节点由于断电等故障导致非正常关闭时,有状态应用程序需要及时在正常运行的节点上重新启动,以免影响业务正常运行。详情请参见:节点非优雅关闭。
- 可追溯的默认 StorageClass 功能进入 GA 阶段,用户无需再进行先创建默认的 StorageClass,再创建 PVC 的流程。未分配 StorageClass 的所有 PVC 都将被自动使用默认的 StorageClass。详情请参见:可追溯的默认 StorageClass 赋值。
- Pod 更换策略:新增 JobPodReplacementPolicy 特性门控,开启后支持在 Pod Spec 中定义podReplacementPolicy为Failed。设置该策略后,Pod 只有在到达Failed阶段才会被替换,而不是Terminating时就被替换,以避免出现 2 个 Pod 同时占用索引和节点资源。详情请参见:延迟创建替换 Pod。
- 基于索引的回退机制:新增 JobBackoffLimitPerIndex 特性门控,开启后支持在创建 Indexed Job 时配置.spec.backoffLimitPerIndex,避免单个索引持续失败达到.spec.backoffLimit限制而导致整体失败。详情请参见:基于索引的回退限制。
- NodeSwap 进入 Beta 阶段,开启 NodeSwap 特性门控后,支持为运行的工作负载配置内存交换。详情请参见:在 Linux 上使用交换内存。
- 原生边车容器进入 Alpha 阶段,新增 SidecarContainers 特性门控,开启后支持在 Init 容器中配置restartPolicy字段。详情请参见:原生边车容器。
- podresources API 进入 GA 阶段,它是由 kubelet 提供的节点本地 API,最初为了 监控设备信息 提出,逐步扩大范围,目前可用于查询分配给容器的计算资源。详情请参见:podresource API。
- CRD 使用 CEL 进行 Validate 功能进入 Beta 阶段,通过将 CEL 集成在 CRD 中,可以使开发中在不使用 Webhook 的情况下解决大部分 CR 示例的验证用例。详情请参见:CRD 校验表达式语言。
- 基于 CEL 的准入控制进入 Beta 阶段,支持通过声明式的方式验证资源请求,支持使用 编写复杂的验证规则,代替部署 Webhook 准入控制。详情请参见:验证准入策略。
- 混合版本代理功能进入 Alpha 阶段,当集群中存在多个不同版本的 kube-apiserver 时,混合版本代理使对资源的 HTTP 请求能够被正确的 kube-apiserver 处理。详情请参见:混合版本代理。
- 缓存一致性读取功能进入 Alpha 阶段,新增 ConsistentListFromCache 特性门控,允许通过监视缓存(Watch cache)实现 List 一致性读取,详情请参见:缓存一致性读取。
- kubelet 支持配置 drop-in 目录功能进入 Alpha 阶段,新增--config-dir配置,允许用户插入指定目录覆盖原始的/etc/kubernetes/kubelet.conf配置。
- Pod 的 InPlace VPA 功能进入 Beta 阶段。通过对 API Server、Scheduler 和 Kubelet 进行升级改造,支持在不重启 Pod 的情况下修改 CPU 和内存的 Request/Limit 值。详情请参见:调整分配给容器的 CPU 和内存资源。
在 Kubernetes v1.27 版本
- SeccompDefault 功能进入 GA 阶段,支持通过 kubelet 命令行参数--seccomp-default启用 RuntimeDefault 作为所有工作负载的默认 seccomp 配置文件。详情请参见:kubelet 启动参数。
- Pod 拓扑分布约束控制有多项功能进入 Beta 阶段,包括支持设定 Pod 最少分布域、支持拓扑约束调度时考虑亲和性和污点、解决滚动更新时无法约束拓扑分布的问题等。详情请参见:更多细粒度的 Pod 拓扑分布策略。
- Job 可变调度指令进入 GA 阶段,支持 Job 在挂起阶段修改 Pod 中的调度部分,包括节点选择器、节点亲和性、反亲和性、容忍度。详情请参见:Job 可变调度指令。
- Downward API HugePages 进入 GA 阶段,支持在 Pod 的spec.resources里通过资源hugepages-2Mi或者hugepages-1Gi来配置 HugePages 限制。如果需要配置多种类型 HugePages,需要配置 HugePages 类型的 Volume。详情请参见:Manage HugePages。
- Pod 调度就绪态进入 Beta 阶段。在 Pod 中引入.spec.schedulingGates字段,表示定义 Pod 是否允许开始调度。
- ReadWriteOncePod 访问模式进入 Beta 阶段,该访问模式用于限制 PV 被单个节点上的单个 Pod 的访问。ReadWriteOnce 模式限制了单节点访问,但并不限制多个 Pod 同时访问同一个节点。详情请参见:持久卷的单 Pod 访问模式升级到 Beta。
- VolumeManager 重构进入 Beta 阶段,允许 kubelet 在启动期间带上关于现有卷如何挂载的附加信息。
- 控制 StatefulSet 启动顺序功能进入 Beta 阶段,默认允许通过spec.ordinals.start在 StatefulSet 中配置启动序号。详情请参见:StatefulSet 启动序号简化了迁移。
- StatefulSet PVC 自动删除功能进入 Beta 阶段,用户可以配置 whenDeleted 或 whenScaled,触发 Retain 或 Delete 行为。其中 Retain 是默认行为,只有配置了 Delete 策略的 StatefulSet 在被删除时才会触发对应的 PVC 删除动作,详情请参见:KEP-1847、PersistentVolumeClaim 保留。
- 新增 ServiceNodePortStaticSubrange 特性门控,开启后 NodePort Service 会使用不同的端口分配策略。
- 原地调整 Pod 资源功能进入 Alpha 阶段,新增 InPlacePodVerticalScaling 特性门控,支持在不重启 Pod 和容器的情况下调整 Pod 容器中resources字段下的 CPU 和 Memory,即纵向弹性伸缩。详情请参见:KEP-1287、原地调整 Pod 资源。
废弃和移除功能
在 Kubernetes v1.28 版本
- kube-scheduler 移除命令行参数--lock-object-namespace和--lock-object-name,使用--leader-elect-resource-namespace和--leader-elect-resource-name替代。
- kubectl 移除命令行参数--short,kubectl version的默认输出与kubectl version --short相同。
- kube-controller-manager 开始废弃命令行参数--volume-host-cidr-denylist和--volume-host-allow-local-loopback。
- kubelet 开始废弃命令行参数--azure-container-registry-config参数,使用--image-credential-provider-config和--image-credential-provider-bin-dir替代。
- KMSv1 已经废弃。如果仍需兼容使用 KMSv1,需设置--feature-gates=KMSv1=true特性门控,建议使用 KMSv2。
- kube-controller-manager 中新增--concurrent-cron-job-syncs参数,用于配置 CronJob 控制器的并发度,新增--concurrent-job-syncs参数,用于配置 Job 控制器的并发度。详情请参见:#117550、#117138。
- 移除了如下特性门禁:DelegateFSGroupToCSIDriver、DevicePlugins、KubeletCredentialProviders、MixedProtocolLBService、ServiceInternalTrafficPolicy、ServiceIPStaticSubrange、EndpointSliceTerminatingCondition。
在 Kubernetes v1.27 版本
- kube-controller-manager 移除命令行参数--pod-eviction-timeout和--enable-taint-manager。
- kubelet 移除命令行参数--container-runtime、--container-runtime-endpoint和--image-service-endpoint。
- kube-apiserver 移除命令行参数--master-service-namespace。
- kube-controller-manager 移除命令行参数--enable-taint-manager和--pod-eviction-timeout。
- kubelet 移除命令行参数--container-runtime和--master-service-namespace。
- metrics 发生如下变更:node_collector_evictions_number被替代为node_collector_evictions_total、scheduler_e2e_scheduling_duration_seconds被替代为scheduler_scheduling_attempt_duration_seconds。
- 移除如下特性门禁:IPv6DualStack、ExpandCSIVolumes、ExpandInUsePersistentVolumes、ExpandPersistentVolumes、ControllerManagerLeaderMigration、CSI Migration、CSIInlineVolume、EphemeralContainers、LocalStorageCapacityIsolation、NetworkPolicyEndPort、StatefulSetMinReadySeconds、IdentifyPodOS、DaemonSetUpdateSurge。详情请参见:Kubernetes v1.27 Removal。
API 版本弃用
- 在 Kubernetes v1.28,移除 PVC 的.status.resizeStatus字段,替换为 Map 结构字段.status.allocatedResourceStatus,表示调整 PVC 大小时的状态。详情请参见: PersistentVolumeClaimStatus。
- 在 Kubernetes v1.28,移除特性 NetworkPolicyStatus,Network Policy,不再有 Status 属性。
- 在 Kubernetes v1.27,移除 CSIStorageCapacity 的storage.k8s.io/v1beta1版本 API,建议使用storage.k8s.io/v1。
参考链接
关于 Kubernetes v1.28 版本的性能和功能演进的更多信息,请参见:
最近更新时间:2026.09.15 16:51:49