全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:ACK发布Kubernetes 1.32版本说明

更新时间:Feb 11, 2025

阿里云容器服务 Kubernetes 版严格遵循社区一致性认证。本文介绍ACK发布Kubernetes 1.32版本的主要变更说明,包括升级注意事项、重大变更、功能特性、弃用功能和API、特性门控等。

组件版本说明

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

核心组件

版本号

Kubernetes

1.32.1-aliyun.1

etcd

v3.5.15

containerd

1.6.36

CoreDNS

v1.11.3.2-f57ea7ed6-aliyun

CSI

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

CNI

Flannel v0.15.1.22-20a397e6-aliyun

Terway和TerwayControlplane为v1.10.0及以上

功能变更

  • 自1.32版本起,通过OpenAPI接口CreateCluster创建ACK集群时,集群kube-proxy的Proxy Mode(服务转发模式)默认模式由iptables切换为IPVS。该变更只影响新建集群,存量集群升级至1.32后不会切换kube-proxy的Proxy Mode。

  • 自1.32版本起,kube-apiserver将不再支持TLS_RSA_WITH_AES_256_GCM_SHA384TLS_RSA_WITH_AES_128_GCM_SHA256TLS加密套件。存量集群升级至1.32后将自动应用此变更。

  • 自1.32版本起,启用RRSA特性时,将不再修改 kube-apiserver的--api-audiences参数配置,继续沿用启用前的配置值。该变更只影响未启用RRSA特性的集群,已启用RRSA特性的存量集群升级至1.32后不会应用此变更。

  • ServiceAccount的Annotationkubernetes.io/enforce-mountable-secrets在1.32移除。建议使用独立的命名空间来隔离对Secret的访问。

  • DRAControlPlaneController特性门控自1.26进阶至Alpha,默认关闭,在1.32移除。如果开启了此特性并使用了该功能,请在集群升级前删除相关资源,避免升级后工作负载出现异常。详细信息,请参见#128003

功能特性

  • WatchList特性门控进阶至Beta,默认启用。通常大量List操作会导致控制面资源消耗显著增加,启用WatchListClient特性后,client-go客户端可以使用流式请求代替全量List,降低控制面资源消耗。kube-controller-manager组件默认启用该功能。更多信息,请参见Enhancing Kubernetes API Server Efficiency with API Streaming

  • RelaxedEnvironmentVariableValidation特性门控进阶至Beta,默认开启。该特性放宽了对环境变量名称的验证规则,支持几乎所有的可打印ASCII字符(不包括=)作为环境变量名称。

  • 优化Pod状态显示信息。当镜像拉取失败后,Pod的status.containerStatuses[*].state.waiting字段会记录镜像拉取失败的原因(ImagePullBackOff)和具体失败信息。

  • CustomResourceFieldSelectors特性门控在1.32进入GA,默认启用。该特性支持在CustomResourceDefinition(CRD)中启用selectableFields,包括list、watch和deletecollection,以更加高效、更精确地过滤CRD资源。

  • StatefulSetAutoDeletePVC特性门控在1.32进入GA,默认启用。该特性提供对StatefulSet中PVC删除的精细控制,允许在StatefulSet明确不需要PVC时自动清理PVC,降低孤立PVC对StatefulSet的影响。更新StatefulSet和节点维护过程中不对PVC产生影响,不触发自动清理。

  • JobManagedBy特性门控进阶至Beta,默认启用。该特性允许通过配置spec.managedBy字段将Job交由外部控制器来接管Job的调谐(Reconciliation)工作,使得Job调度和管理更加灵活。

    managedBy字段不可配置为kubernetes.io/job-controller,即Kubernetes内置的控制器保留值。

  • 调度器的每个插件都集成QueueingHint回调函数,方便调度器获取Pod重新入队的建议,快速判断Pod是否需要重新入队,以减少不必要的调度重试,从而提升调度吞吐量。更多信息,请参见QueueingHint Brings a New Possibility to Optimize Pod Scheduling

  • RecoverVolumeExpansionFailure特性门控进阶至Beta,默认启用。PVC扩容失败时通常需要管理员介入手动恢复,恢复操作繁琐。该特性允许用户直接手动调小PVC的.spec.resources,有助于PVC快速恢复且数据不丢失。具体方式,请参见Recovering from Failure when Expanding Volumes

  • AuthorizeWithSelectors和AuthorizeNodeWithSelectors特性门控进阶至Beta,后者需要搭配前者使用。启用后,AuthorizeNodeWithSelectors允许节点鉴权器使用更细粒度的选择算符(例如fieldSelectorlabelSelector)进行鉴权,提高了Kubernetes授权系统的灵活性。kubelet仅有最小权限,只能读取自己的节点对象和绑定到自己节点的Pod。更多信息,请参见Using Node Authorization

  • 客户端请求Pod日志的参数PodLogOptions添加Stream字段,允许流式请求容器日志。这意味着日志可以实时传输给客户端,无需等待整个日志文件下载完成。但需注意,StreamTailLines不可共用。

  • 优化JobController,极大提升Job的更新和删除效率,尤其是在大量使用Job的场景下。更多信息,请参见#126567#127228#127378

  • 优化kube-proxy,Service更新时使用fieldSelector: clusterIP!=None,以避免监听Headless Service,减少不必要的带宽占用。更多信息,请参见#126769

弃用API

  • flowcontrol.apiserver.k8s.io/v1beta3版本的FlowSchema和PriorityLevelConfiguration在1.32版本中废弃。推荐迁移至flowcontrol.apiserver.k8s.io/v1API版本(自1.29起可用)。

    flowcontrol.apiserver.k8s.io/v1版本中PriorityLevelConfiguration的spec.limited.nominalConcurrencyShares字段在未指定时默认为30(如显式配置为0,则不会被更改为30)。

参考链接

关于Kubernetes 1.32完整的变更记录,请参见CHANGELOG-1.32Kubernetes v1.32: Penelope