Kubernetes v1.36 (Haru) 发布概览与SRE实践指南

概述

Kubernetes v1.36(代号“ハル / Haru”)于2026年4月发布,延续了项目季度发布的稳定节奏,本次包含70项增强功能。对于Site Reliability Engineering(SRE)团队而言,此版本的多项更新直接影响集群的安全态势、可观测性深度、资源调度效率以及长期运维的可靠性基础。本指南旨在从SRE实践视角,梳理v1.36中值得关注的关键变更,特别是那些达到稳定状态的功能,帮助团队规划升级、强化安全配置并优化运维工作流。

核心概念

Kubernetes的版本发布遵循其功能成熟度模型,新特性会经历Alpha(实验性)、Beta(默认禁用但功能完整)和Stable(正式可用,承诺向后兼容)阶段。v1.36的发布主题“Haru”寓意春天、晴朗的天空与遥远的地平线,象征着项目持续演进、迈向更广阔前景的愿景。理解本次发布的各项功能,需要关注以下核心概念:

  • 动态资源分配(Dynamic Resource Allocation, DRA):一个旨在提供更灵活、声明式的硬件资源(如GPU、网络设备)分配框架。v1.36中多项DRA相关特性达到Beta或Stable,标志着Kubernetes对异构计算资源管理的支持走向成熟,这对运行AI/HPC工作负载的SRE团队至关重要。
  • 工作负载感知调度(Workload Aware Scheduling, WAS):通过PodGroup API将一组相关Pod视为单一逻辑实体进行原子调度,解决了分布式作业中Pod调度碎片化的问题。Alpha阶段的此特性预示着未来复杂批处理工作负载调度的可靠性将得到提升。
  • 声明式策略(Declarative Policies):例如达到Stable的MutatingAdmissionPolicies,允许使用通用表达式语言(CEL)在API服务器内定义资源变更逻辑,减少了对外部Webhook的依赖,从而降低了网络延迟、运维复杂性和攻击面。

实践

面对v1.36的更新,SRE团队应采取一系列主动措施,将新特性转化为可靠的运维能力。

升级规划与安全加固

v1.36的发布是审计和加固集群安全的绝佳时机。首先,应评估并计划迁移到细粒度的Kubelet API授权(KubeletFineGrainedAuthz,已稳定),以替代宽泛的nodes/proxy权限,遵循最小权限原则。其次,注意**Service.spec.externalIPs字段已被弃用**(计划在v1.43移除),因其存在中间人攻击风险(CVE-2020-8554),应迁移到LoadBalancer、NodePort或Gateway API。同时,gitRepo卷驱动已被永久移除,必须确保工作负载不依赖此功能,应改用Init容器或git-sync等工具。

可观测性增强

提升节点与组件的内部可见性是故障排查的关键。v1.36中稳定的节点日志查询(NodeLogQuery)功能允许通过kubectl直接查看节点上的kubelet/kube-proxy日志,无需SSH登录,简化了节点问题的初步诊断。此外,已进入Beta的组件状态zpage(/statusz)和标志位zpage(/flagz)端点,为核心组件提供了实时的构建版本、启动参数等低开销可见性信息,可集成到监控和审计流程中。

资源与存储管理优化

对于依赖持久化存储的工作负载,稳定的卷组快照(VolumeGroupSnapshot)功能允许对多个PVC进行一致性快照,为关键应用提供了更可靠的备份与恢复点。同时,可变卷挂载限制(Mutable CSINode Allocatable)已稳定,允许CSI驱动动态更新节点的卷容量限制,避免因信息过时导致调度失败。对于硬件资源,关注资源健康状态(Beta)的Pod状态报告,可快速识别Pod崩溃是否因设备故障(Unhealthy/Unknown状态)引起,加速硬件问题定位。

调度与自动化的未来准备

虽然工作负载感知调度(WAS) 和基于自定义指标的HPA缩容到零尚处于Alpha阶段,但SRE团队应开始评估其与现有批处理作业、队列系统或成本优化策略的集成潜力。这些特性有望在未来提升资源利用效率和系统弹性。

SRE 要点

Kubernetes v1.36的发布深刻体现了SRE文化中“自动化、可观测性、渐进式变更”的核心理念。

  • 与可靠性、可观测性、事件响应的关联:稳定的PSI指标支持(基于cgroupv2)为SRE提供了比传统利用率更精细的资源压力视图,有助于区分系统繁忙与资源耗尽,从而更准确地设置SLO和进行垂直自动扩缩容。组件级别的zpage端点(/statusz, /flagz)则在事件响应中提供了快速、标准化的组件健康信息快照,减少了排查路径。节点日志查询功能直接简化了节点层面故障的现场信息收集。

  • 最佳实践与常见反模式:

    • 最佳实践:在升级到v1.36后,应积极启用并利用KubeletFineGrainedAuthz和NodeLogQuery以提升安全与运维效率。规划存储操作时,评估采用VolumeGroupSnapshot来保护有状态应用。关注DRA和WAS的进展,为未来管理GPU等特殊硬件资源做好准备。
    • 常见反模式:忽视Service.externalIPs的弃用警告,继续使用该字段将暴露安全风险。在升级后不清理或迁移依赖已移除的gitRepo卷驱动的工作负载,会导致Pod无法调度。在节点上运行高密度容器时,未利用PSI指标或DRA的资源状态反馈,可能无法及时感知资源争用或硬件故障。
  • 相关指标(SLI/SLO/SLA):v1.36为定义更精准的SLI提供了新工具。例如,利用新的原生直方图(Alpha)支持,可以更高效、准确地采集kube-apiserver的延迟分布,为API响应时间SLO提供高保真数据。ComponentStatusz端点可作为组件版本一致性的SLI数据源。而allocatedResourcesStatus则为Pod因硬件故障重启的频率提供了直接指标,可用于定义硬件可靠性的SLO。

其他重要更新与弃用

除了上述亮点,v1.36还包括其他对SRE有意义的更新:

  • Ingress NGINX退役:该控制器已于2026年3月退役,停止安全更新。SRE应计划迁移至其他Ingress方案,如Gateway API实现或云原生负载均衡器。
  • SELinux卷标签加速(稳定):该功能通过mount -o context=XYZ方式应用SELinux标签,提升了挂载性能,但可能在未来引入破坏性变更(如在同一节点共享卷时)。需要审计集群中SELinux策略的使用情况。
  • 受约束的冒充(Constrained Impersonation,Beta):收紧了用户冒充机制,要求冒充者需同时具备冒充权限和操作权限,防止权限过度放大,增强了多租户环境的安全性。