ACK 发布 Kubernetes 1.36 版本说明

更新时间:
复制为 MD 格式

ACK 严格遵循 Kubernetes 社区一致性认证。本文介绍 ACK 的 Kubernetes 1.36 版本主要变更,包括升级注意事项、组件版本、重大变化、功能变更与弃用说明。

组件版本说明

下表为 ACK 集群核心组件版本的支持情况。

核心组件

版本号

Kubernetes

1.36.1-aliyun.1

etcd

v3.6.10

containerd

2.1.6

CoreDNS

v1.12.1.3

CSI

升级至组件当前支持的最新版本。详细信息,请参见组件变更记录csi-plugincsi-provisioner

CNI

Flannel v0.28.0.6

Terway 和 TerwayControlplane v1.15.0 及以上

重大变化

自 1.36 版本起,Service 的 .spec.externalIPs 字段被标记为弃用,并计划在 1.43 版本中完全移除。多年来,该字段一直是一个已知的安全隐患,会导致集群流量遭受中间人攻击,相关漏洞已记录在 CVE-2020-8554 中。如果目前正在使用该字段,请尽快迁移。

功能变更

  • VolumeGroupSnapshot 特性进入稳定阶段(GA),允许同时跨多个 PersistentVolumeClaims 创建一致性快照,减少因异步快照导致的数据不一致风险。

  • Mutable CSINode allocatable 特性进入稳定阶段,CSI 驱动可动态更新节点可挂载卷数量,避免因卷挂载上限信息过时而导致调度不准或挂载失败。

  • 动态资源分配(DRA)关键特性进入稳定版本,包括 DRA admin access 和 prioritized lists,为硬件资源的全局管理与一致、可预测的资源选择逻辑提供长期稳定的 API 基础。此外,部分备受期待的功能已升级至 Beta 版,详见 Kubernetes 1.36 DRA Updates

  • MutatingAdmissionPolicies 进入稳定阶段,管理员可直接在 API Server 中使用 CEL 定义资源变更规则,为诸多场景提供替代传统 Admission Webhook 的原生方案,降低网络与运维开销,带来更可预测的集群行为。

  • UserNamespacesSupport 特性进入稳定阶段,Pod 使用 Linux 用户命名空间增强安全性的能力默认启用。该能力不影响现有 Pod,可手动指定 pod.spec.hostUsers 来选择是否使用此特性。

  • KubeletPSI 升级至 Beta,允许 kubelet 通过 Summary API 和 Prometheus 指标获取 Pressure Stall Information (PSI) 指标。

  • 新增 Staleness mitigation for controllers 功能,该改进可减少控制器因本地缓存过期、基于旧集群状态执行调谐所导致的错误操作、冲突更新或数据损坏。

  • StrictIPCIDRValidation 功能升级至 Beta,加强对 API 中 IP 和 CIDR 字段的校验,可更早发现格式错误的地址和网段配置,避免 Service、Pod、NetworkPolicy 等资源因无效 IP 或 CIDR 引发隐蔽配置问题或安全风险。

  • MutablePodResourcesForSuspendedJobs 升级至 Beta 并默认启用,允许在 Job 被挂起(suspended)时,修改其容器的 CPU、内存、GPU 以及扩展资源的 requests 和 limits。

  • ConstrainedImpersonation 升级至 Beta,使用户身份模拟(impersonation)机制更符合最小权限原则。启用后,模拟者不仅需要具备"模拟某个身份"的权限,还必须同时具备"以该身份执行具体操作"的权限。

  • ComponentStatusz 升级至 Beta 并默认启用,为核心 Kubernetes 组件提供 /statusz 端点,实时展示组件的构建和版本信息(启动时间、运行时长、Go 版本、二进制版本、兼容性版本等),便于运维和开发人员快速了解当前运行状态。

  • ComponentFlagz 升级至 Beta 并默认启用,为核心 Kubernetes 组件统一提供 /flagz 端点,展示组件启动时实际生效的命令行参数,便于运维和开发人员排查配置问题或验证参数变更是否已在重启后生效。

弃用说明

  • 自 1.36 版本起,Service 的 .spec.externalIPs 字段被标记为弃用,并计划在 1.43 版本中完全移除。如果目前正在使用该字段,请尽快迁移。

  • 自 1.36 版本起,gitrepo volume 插件已永久禁用。建议使用 init 容器或外部 git-sync 工具等替代方案。

参考链接