全部產品
Search
文件中心

Container Service for Kubernetes:ACK發布Kubernetes 1.35版本說明

更新時間:Mar 14, 2026

阿里雲Container Service for Kubernetes嚴格遵循社區一致性認證。本文介紹ACK發布Kubernetes 1.35版本的主要變更說明,包括升級注意事項、重大變更、功能特性、棄用功能和API、特性門控等。

組件版本說明

下表為ACK叢集核心組件版本的支援情況。

核心組件

版本號碼

Kubernetes

1.35.1-aliyun.1、1.35.2-aliyun.1

etcd

v3.5.21

containerd

2.1.5

CoreDNS

v1.12.1.2

CSI

升級至組件當前支援的最新版本。詳細資料,請參見組件變更記錄csi-plugincsi-provisioner

CNI

Flannel v0.28.0.6

Terway和TerwayControlplane為v1.15.0及以上

重大變化

  • Kubernetes 自 1.35 版本起不再支援 cgroup v1,對 cgroup v2 的支援已在 1.25 版本進入穩定階段。節點作業系統必須升級以支援 cgroup v2,否則 kubelet 將無法啟動。

    關於ACK作業系統鏡像的cgroup版本支援情況,請參見作業系統;關於如何更換或升級作業系統,請參見更換作業系統

功能變更

  • Service 的 trafficDistribution 欄位新增的 PreferSameNode 選項進入穩定階段(GA)。此選項使流量優先路由到本節點上的端點,僅在節點上無可用端點時回退到其他節點。

    該功能的特性門控 PreferSameTrafficDistribution 自 1.34 起預設啟用,同時支援 PreferSameNodePreferSameZone。原有的 PreferClose 選項已重新命名為 PreferSameZone

  • PodObservedGenerationTracking進入穩定階段。當 Pod 的 spec 更新時,其 .metadata.generation 會遞增。Kubelet 會在 Pod 的 .status.observedGeneration 欄位中記錄其已處理的 spec 版本。 這有助於控制器和 Operator 準確判斷 Pod 的變更(例如原地擴縮容)是否已在節點上生效,從而避免因狀態更新延遲而引發的問題。

  • 節點拓撲管理器策略選項 max-allowable-numa-nodesmax-allowable-numa-nodes)進入穩定階段,拓撲管理器可在超過 8 個 NUMA 節點的伺服器上正確計算親和性。

  • Downward API 現已支援將節點的拓撲標籤(如 topology.kubernetes.io/zonetopology.kubernetes.io/region)注入到 Pod 中。

  • StorageVersionMigrator進階至Beta,預設關閉,將儲存版本遷移(Storage Version Migration)能力從外部工具遷移至 Kubernetes 內部實現。詳見Move Storage Version Migrator in-tree

  • MutableCSINodeAllocatableCount 預設啟用,允許 CSI 驅動定期更新節點上可分配卷的數量資訊。這有助於解決節點可分配卷容量資訊更新不及時的問題,此問題可能導致 Pod 被調度到卷容量不足的節點上,並卡在 ContainerCreating 狀態。

  • 通過引入Opportunistic batching,調度器可以緩衝調度中間結果,從而顯著提升相似 Pod 的調度輸送量。

  • MaxUnavailableStatefulSet 進階至 Beta 並預設啟用。該功能允許為 StatefulSet 的變換原則設定 maxUnavailable 欄位,用於指定更新過程中不可用 Pod 數量的上限。

  • Pod Certificates 進階至 Beta,預設禁用。該功能支援為 Pod 產生認證用於和 kube-apiserver 進行雙向認證訪問,並支援認證的自動輪轉,提供了比傳統 ServiceAccount 令牌更安全的認證方式。詳見KEP-4317: Pod Certificates

  • Kubectl 支援使用 KYAML 格式。KYAML 是為 Kubernetes 設計的 YAML 子集,旨在解決標準 YAML 在解析時的一些歧義和安全問題。可通過設定環境變數 KUBECTL_KYAML=false 來禁用此功能。詳見Introducing KYAML

  • HorizontalPodAutoscaler (HPA) 的 behavior 欄位現已支援配置容忍度閾值。此前,擴縮容決策依賴於一個固定的全域 10% 容忍度,現可按需靈活配置。

  • 使用者命名空間(User Namespaces)進階至 Beta 。此功能允許 Pod 在一個與主機隔離的使用者命名空間中運行。容器進程可以在其命名空間內以 root (UID 0) 身份運行,但在主機上會被映射為一個無特權的非零使用者識別碼,降低因容器逃逸而導致許可權提升的安全風險。

  • ImageVolume 預設啟用,允許在 Pod 中使用 image 類型的卷。這種卷可以將容器鏡像的內容作為唯讀卷掛載到 Pod 中。使用此功能時,containerd 需為 v2.1 或更高版本。

  • KubeletEnsureSecretPulledImages 進階至 Beta 並預設啟用。此功能通過強制對使用 imagePullPolicy: IfNotPresent 的 Pod 進行憑據校正,提升多租戶叢集的安全性。它能有效防止以下情境:一個有憑據的 Pod 將私人鏡像拉取到節點上後,同一節點上其他無憑據的 Pod 能夠利用本機快取訪問該敏感鏡像。

  • ContainerRestartRules 進階至 Beta 並預設啟用,實現了更細粒度的容器級重啟策略配置。支援通過為容器指定 restartPolicyrestartPolicyRules 來覆蓋 Pod 層級的重啟策略。詳見Individual container restart policy and rules

  • CSI 驅動支援將 CSIDriver 對象中的 spec.serviceAccountTokenInSecrets 欄位設定為 true,以通過 Secret 掛載 ServiceAccount 令牌,而不是將其直接放在 volume context 中。這有助於防止憑據在日誌和錯誤資訊中被意外泄露。詳見CSI driver opt-in for service account tokens via secrets field

  • Deployment 新增 terminatingReplicas 欄位,用於記錄已設定刪除時間戳記但尚未從系統中完全移除的 Pod 數量。

  • 在1.35.2-aliyun.1中修複 CVE-2025-61732和CVE-2025-68121。

棄用說明

  • 自 1.35 版本起,kube-proxy 的 ipvs 模式已被標記為棄用,並計劃在未來版本中移除。官方推薦切換至 nftables模式 (自 v1.33 起穩定)。考慮到 nftables 模式相對較新,ACK 建立新叢集時仍預設使用 ipvs 模式,並計劃在後續版本中提供 nftables 模式的支援。

    建議使用完全不依賴 kube-proxy 的 Terway Datapath V2
  • 1.35 是最後一個支援 containerd 1.x 的版本。在升級至 1.36 及以上版本前,需將 containerd 升級至 2.x 版本。ACK叢集自 1.33 版本起已預設使用 containerd 2.x。詳見containerd 2.1介紹

參考連結

關於Kubernetes 1.35完整的變更記錄,請參見CHANGELOG-1.35Kubernetes v1.35: Timbernetes (The World Tree Release)