资讯动态

Kubernetes 1.36 版本重大更新详解

发布时间:2026/10/3 3:32:40 来源:尧图企业网站定制
Kubernetes 1.36 版本重大更新详解本文整理了 Kubernetes 1.36 版本的重要变更、新特性、Bug 修复及升级注意事项为您的集群升级提供参考。 重要升级须知1. 调度器 PreBind 插件并行执行影响调度器框架现在支持并行运行 PreBind 插件要求自定义调度器插件需要更新在PreBindPreFlight方法中返回PreBindPreFlightResult并设置AllowParallel: true才能启用并行执行返回nil则保持原有串行行为2. 监控指标重命名volume_operation_total_errors→volume_operation_errors_totaletcd_bookmark_counts→etcd_bookmark_total注意如果使用自定义监控面板或告警规则需要更新指标名称3. Kubeadm 移除 FlexVolume 内置支持Kubeadm 已移除对 flex-volumes 的集成支持如需继续使用需要自定义 KCM 镜像非 distroless 基础并手动挂载/usr/libexec/kubernetes/kubelet-plugins/volume/exec目录 主要新特性DRA动态资源分配重大增强特性状态说明DRA 扩展资源Beta支持扩展资源类型DRA 设备绑定条件Beta默认启用设备绑定状态条件DRA 设备污点与容忍Beta支持设备污点和容忍机制DRA 可消费容量GA默认启用可分区设备容量管理DRA 分区设备Beta支持设备分区DRA 优先列表GA设备选择优先列表DRA 管理员访问GA管理员访问权限DRA 原生资源映射Alpha设备映射到原生 K8s 资源CPU/内存DRA 列表类型属性Alpha支持列表类型的设备属性调度器新特性Workload 和 PodGroup API引入scheduling.k8s.io/v1alpha2支持工作负载级调度Gang Scheduling/组调度拓扑感知工作负载调度TASAlpha 阶段支持基于拓扑域的 PodGroup 调度工作负载感知抢占支持整个 PodGroup 的抢占而非单个 PodPodGroupPodsCount 插件优先选择 Pod 数量更多的放置位置原地 Pod 资源调整增强InPlacePodLevelResourcesVerticalScaling升级为Beta默认启用支持 Pod 级别的 CPU/内存资源原地调整支持非 sidecar 的 initContainer 原地调整调整请求超过节点可分配容量时现在在准入阶段就失败而不是标记为 Infeasible安全与认证UserNamespacesSupportGA用户命名空间支持ConstrainedImpersonationBeta默认启用- 受限模拟NodeDeclaredFeaturesBeta默认启用- 节点声明特性MutatingAdmissionPolicyGA- 可变准入策略ExternalServiceAccountTokenSignerGA- 外部服务账户令牌签名CSIServiceAccountTokenSecretsGA- CSI 服务账户令牌 SecretSELinuxChangePolicy SELinuxMountReadWriteOncePodGA- SELinux 策略网络StrictIPCIDRValidation默认启用- 严格验证 IP/CIDR 格式禁止前导零如010.000.000.005和语义模糊的子网掩码RelaxedServiceNameValidationBeta默认启用- 放宽 Service 名称验证kube-proxy nftables 模式修复兼容 nft 1.1.3kube-proxy 优化 conntrack 清理逻辑大幅提升大量过期连接时的性能Ingress NGINX正式退役2026年3月24日宣布退役不再有新发布、bug修复或安全更新存储VolumeAttributesClass锁定为默认启用首选存储版本升级到storage.k8s.io/v1MutableCSINodeAllocatableCountGA- 可变的 CSI 节点可分配计数ImageVolumeGA- 镜像卷支持PersistentVolumeClaimUnusedSinceTimeAlpha- 跟踪 PVC 未使用状态节点与 KubeletNodeLogQueryGA- 节点日志查询KubeletPSIGA- Linux PSI 指标CPU/内存/IO 压力RestartAllContainersOnContainerExitsBeta默认启用- 容器退出时重启所有容器PLEGOnDemandRelistBeta默认关闭- 按需 PLEG relistReloadKubeletClientCAFile默认启用- 运行时更新客户端 CA 证书新增 gRPC 服务提供节点上 Pod 信息CRI API 新增image_id字段到PullImageResponseCLI / Kubectlkubectl explain支持显示externalDocs信息kubectl describe node显示 ResourceSlices 信息kubectl get node -owide显示内核架构kubectl get ingressclass显示默认标记kubectl attach/run新增--detach-keys标志kubectl wait支持多条件等待kubectl diff新增--show-secret标志调试默认配置文件从legacy改为general其他 GA 特性ProcMountTypeGA - 进程挂载类型HonorPVReclaimPolicy移除特性门已 GA 自 1.33CSIMigrationPortworx移除已 GA 自 1.33 重要 Bug 修复StatefulSet 并行 Pod 管理回归修复禁用MaxUnavailableStatefulSet特性门1.35 回归问题DRA 调度竞争修复修复快速调度时同一设备被重复分配的问题Sidecar 容器重启修复修复 kubelet 重启后带有 sidecar 和 startupProbe 的 Pod 中普通容器崩溃后无法重启的问题Server-Side Apply 修复修复空数组/映射的处理和字段所有权跟踪HPA 对象指标修复修复通过 v1 HPA API 更新使用 averageValue 的 object metrics 的问题kube-proxy IPv4/IPv6 负载均衡器隔离修复 Windows 上双栈 Service 的行为⚠️ 安装/升级注意事项1. 版本要求Go 版本构建使用 Go 1.26.x运行时不需要但开发/编译相关etcd客户端库升级到 v3.6.8etcd 镜像 v3.6.8CoreDNS升级到 1.14.2pause 镜像升级到 3.10.22. API 变更与废弃Service.spec.externalIPs已废弃使用时会发出警告git-repo Volume 插件默认禁用无法重新启用v1alpha1 WebhookAdmissionConfiguration已移除自 1.17 废弃Raw 字段访问metav1.FieldsV1的Raw字段直接访问已废弃使用新的访问器方法CRD 数值范围严格验证对 int32/int64/float/double 格式严格 enforce 范围现有对象通过 validation ratcheting 保留3. 网络配置注意IP/CIDR 格式严格化StrictIPCIDRValidation默认启用确保所有 IP 和 CIDR 配置没有前导零或模糊子网掩码ServiceCIDR写入主资源时忽略 status 字段变更ServiceCIDRStatusFieldWiping特性门默认启用4. DRA 相关如使用 GPU/FPGA 等动态资源RBAC 权限细化DRA 驱动和控制器需要更细粒度的 RBAC 权限来更新 ResourceClaim 状态ResourceSlice 控制器发布集群范围资源时必须显式设置ReconcilePoolWithName“All nodes” 不再是默认值5. 监控与可观测性Prometheus Native Histograms多个组件apiserver、kubelet、kube-proxy、scheduler、KCM支持原生直方图需启用特性门新指标注意新增和重命名的指标更新监控配置6. Kubeadm 特定注意移除 flex-volume 内置支持移除--pod-infra-container-imagekubelet 标志的清理逻辑1.35 升级时需要1.36 不再需要etcd 3.6.0 不再支持移除废弃的 etcd 标志kubeadm upgrade的CreateJob预检超时增加到 1 分钟Windows 节点处理 Node 对象时对未知 API 错误不再提前退出而是持续重试7. 调度器插件开发者注意PostFilterResult 扩展需要返回被抢占的 Pod 列表PreBindPreFlightResult需要支持并行执行声明PodGroupInfo 重命名改为PodGroupState自定义插件需要更新8. 特性门变更多个特性从 Alpha → Beta 或 Beta → GA默认启用状态变化注意检查当前启用的特性门特别是MaxUnavailableStatefulSet默认禁用修复 1.35 回归PLEGOnDemandRelistBeta 但默认关闭SchedulerAsyncAPICalls已禁用性能问题 升级建议测试环境先行1.36 包含大量 DRA 和调度器变更建议先在测试环境验证检查自定义调度器插件如有自定义调度器插件必须更新以兼容新的 PreBind/PostFilter 接口更新监控告警检查使用了重命名指标的监控面板和告警规则验证网络配置确保所有 Service、EndpointSlice 的 IP/CIDR 格式符合新标准DRA 用户检查 RBAC 配置和 ResourceSlice 的ReconcilePoolWithName设置Kubeadm 用户注意 flex-volume 和 etcd 版本要求的变化总结Kubernetes 1.36 版本带来了大量重要更新特别是在 DRA动态资源分配和调度器方面的增强为集群管理和资源利用提供了更多可能性。同时也修复了多个关键 Bug提高了系统的稳定性和可靠性。在升级过程中建议您仔细阅读本文档中的注意事项特别是关于调度器插件、监控指标和网络配置的变更确保升级过程顺利进行。如果您在升级过程中遇到任何问题欢迎在评论区留言讨论我们将尽力为您解答。本文内容基于 Kubernetes 1.36 版本官方发布说明整理仅供参考。具体升级操作请以官方文档为准。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑