日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ACK發布Kubernetes 1.28版本說明

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

組件版本說明

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

核心組件

版本號

Kubernetes

1.28.15-aliyun.1、1.28.9-aliyun.1、1.28.3-aliyun.1

etcd

v3.5.9

CoreDNS

v1.9.3.10-7dfca203-aliyun

CRI

containerd 1.6.20

CSI

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

CNI

Flannel v0.15.1.22-20a397e6-aliyun

Terway和TerwayControlplane v1.5.0及以上

NVIDIA Container Runtime

v3.13.0

Ingress Controller

v1.8.0-aliyun.1

升級注意事項

組件

注意事項

CephFS和Ceph RBD存儲卷插件

如果集群使用了CephFS和RBD卷插件,需檢查是否已經不再依賴Kubernetes自身提供的插件驅動,改用樹外驅動(Off-Tree Driver)并評估相關兼容性、穩定性或性能方面的風險。

相關概念

了解Kubernetes版本的功能變更和棄用資源前,您可能需要了解相關概念。

特性門控(Feature Gates)

特性門控(Feature Gates)用于描述一個特性的多個階段。一般有三個階段:

  • Alpha階段:默認禁用。

  • Beta階段:通常默認啟用。

  • GA階段:一直默認啟用,且不能禁用,不再需要相應的特性門控。

重大變更

  • 針對調度器,Kubernetes v1.28版本優化了調度邏輯,減少無效的重試,從而提高調度器的整體性能。

    如集群中使用了自定義調度器插件,建議對調度器插件進行改造和升級,以提升調度器性能。更多信息,請參見調度框架變化

  • 針對CSI遷移,Kubernetes社區一直推動將存儲相關插件從源碼中移除,改用實現了CSI標準接口的樹外驅動,并已經于v1.25完成GA,于v1.27移除了APIstorage.k8s.io/v1beta1和EBS存儲插件,于v1.28移除了CephFS卷插件相關代碼并廢棄了kubernetes.io/rbd,轉為使用CephFS CSI驅動。此外,v1.28不再支持將Ceph RBD卷遷移到樹外CSI存儲驅動插件。

  • 在1.28.15-aliyun.1版本修復了CVE漏洞CVE-2024-10220

  • 在1.28.9-aliyun.1版本修復了以下CVE漏洞:

功能特性

在Kubernetes 1.27版本

  • 修正Pod終止狀態,將處于Pending中被刪除的Pod設置為Failed,將處于Running中被刪除的Pod設置為Succeeded或者Failed(具體狀態取決于容器退出狀態)。此修正解決了當Pod配置了失敗策略時刪除Pod可能卡在Pending階段的問題。

    但如果Pod配置了RestartPolicy=Always,Pod刪除后可能會以Succeeded結束。您需為此調整開發的控制器。更多信息,請參見給不需要重啟的Pod設置終止狀態

  • 持久卷的ReadWriteOncePod訪問模式進入Beta,默認支持僅允許一個Pod寫入存儲卷。更多信息,請參見持久卷的單Pod訪問模式升級到Beta

  • Pod拓撲分布約束控制Pod在集群內合理分布在多個可用區,有多個增強特性進入Beta,包括支持設定Pod最少分布在幾個域(minDomains),支持調度時考慮污點(nodeTaintsPolicy)、親和性(nodeAffinityPolicy),解決滾動更新時結果不符合約束(whenUnsatisfiable)的問題。更多信息,請參見更多精細粒度的Pod拓撲分布策略

  • 服務端字段校驗對發送到API Server上的資源進行校驗,功能進階至GA。kubectl將跳過客戶端校驗,自動使用Strict模式下的服務端字段校驗,并在驗證失敗時報錯。更多信息,請參見服務器端字段校驗和 OpenAPI V3 進階至 GA

  • OpenAPI v3是OpenAPI的最新標準,Kubernetes在v1.23添加,在v1.27進入GA。更多信息,請參見服務器端字段校驗和 OpenAPI V3 進階至 GA

  • HPA允許給Pod里的容器配置ContainerResource,根據各個容器的資源使用量進行自動擴縮。該功能在v1.27進入Beta。與原有的Resource類型考慮Pod整體資源使用平均值相比,考慮每個容器使用量可以解決此問題:Pod存在多個容器時Sidecar容器使用率低而業務容器使用率高,平均計算后沒有達到擴容閾值,最終無法擴容。

  • StatefulSet多個特性進入Beta,包括支持Pod從非零數作為起始序號,支持指定刪除和縮容時自動刪除創建的PVC。

  • 新增特性允許在不重啟Pod和容器的情況下調整Pod容器中resources字段下的CPU和Memory。節點會基于requests為Pod分配資源,基于limits限制資源使用。Pod新增了部分字段支持該特性,請參見調整分配給容器的CPU和內存資源。該特性在v1.27處于Alpha階段,默認關閉。

  • kubelet支持修改serializeImagePullsfalse,實現并發拉取鏡像代替默認的串行拉取。v1.27新增maxParallelImagePulls字段,限制并發拉取的鏡像數量,防止鏡像拉取消耗過多的網絡帶寬或磁盤I/O。

  • 針對持久卷快照能力,除了已經提供的Volume Snapshot API外,新增一致性快照Volume Group Snapshot能力,允許在同一時間點對多個卷生成快照,請參見介紹用于磁盤卷組快照的新API

在Kubernetes 1.28版本

  • 節點非體面關閉(Non-graceful node shutdown)進入GA。節點由于斷電等故障導致非正常關閉時,有狀態應用程序需要及時在正常運行的節點上重新啟動,以免影響業務正常運行。

  • NodeOutOfServiceVolumeDetach特性門控進入GA,允許異常節點上被終止的Pod立即進行卷分離操作,以支持Pod在其他節點上快速恢復。

  • 可追溯的默認StorageClass賦值進入GA。此前,當未配置storageClassName的PVC先于默認StorageClass存在時,PVC將永遠處于pending狀態。更新后,默認的StorageClass出現后,未配置storageClassName的PVC會自動更新使用默認的StorageClass。

  • 針對Job失效處理,引入2個新特性。

    • JobPodReplacementPolicy(Alpha特性門控)控制只有Pod達到Failed階段status.phase: Failed才被替換,而不是有deletionTimestamp處于終止過程中,以避免出現2個Pod同時占用索引和節點資源。

    • JobBackoffLimitPerIndex (Alpha特性門控)通過配置.spec.backoffLimitPerIndex以限制Indexed Job一些索引的失敗重試次數,避免單個索引持續失敗達到.spec.backoffLimit限制而導致整體失敗。

  • Indexed Job如果設置超過10萬完成數(completion)和超過1萬并發度(parallelism),當大量Pod失敗時,可能無法追蹤Job的終止狀態。因此,在創建Job時,如果參數設置過大,將提示警告信息。

  • 在CRD校驗規則中添加reasonfieldPath字段后,允許校驗失敗時返回指定原因和字段路徑。更多信息,請參見CRD校驗表達式語言

  • Webhook過濾請求新增支持CEL表達式,最多支持定義64個匹配條件。更多信息,請參見動態準入控制匹配條件。

  • 新增SidecarContainers特性門控,支持Sidecar容器,優化容器啟動順序。例如,日志收集Sidecar容器可以在其他容器之前啟動,以提高日志收集的可靠性。更多信息,請參見介紹原生Sidecar容器。該特性在v1.28處于Alpha階段,默認關閉。

  • PVC的.status.resizeStatus字段替換為.status.allocatedResourceStatusMap結構字段,表示調整PVC大小時的狀態。更多信息,請參見PersistentVolumeClaimStatus

  • Indexed Job類型和StatefulSet類型的Pod都在Label上添加了Pod索引(序號)。

  • 驗證準入策略(ValidatingAdmissionPolicy)(Beta階段)提供聲明式的方式驗證資源請求,代替部署驗證準入Webhook,并支持使用CEL表達式編寫復雜的驗證規則。API Server會驗證資源請求是否符合CEL表達式,評估通過后才視為通過。

  • Kube Controller Manager新增--concurrent-cron-job-syncs配置CronJob控制器的并發度,新增--concurrent-job-syncs配置Job控制器的并發度。更多信息,請參見--concurrent-cron-job-syncs--concurrent-job-syncs

  • API Server優化包括:

    • 改進了在緩存上執行GetList時的內存消耗。更多信息,請參見GetList測試數據

    • 修復僅剩一個API Server副本時Kubernetes Service的Endpoint沒有摘除的問題,確保優雅終止時能夠及時摘除Endpoint。

    • OpenAPI v2控制器設置為惰性聚合CRD信息,并且大幅減少OpenAPI v2規范。在沒有客戶端請求OpenAPI v2時,減少API Server的CPU和內存消耗,同時提升大量CRD安裝時的性能(但客戶端首次請求會變慢)。建議將客戶端升級至支持使用OpenAPI v3。

    • 新增Consistent Reads from Cache特性門控,允許通過監視緩存(Watch cache)實現List一致性讀取。

    • 豐富監控指標,支持通過訪問metrics接口獲取。

棄用功能

在Kubernetes 1.27版本

  • 移除樹內AWS EBS存儲插件,轉為外置的CSI插件。請參見cloud-provider-aws

  • 廢棄Nodespec.externalID字段,字段更新請求將會收到警告信息。關于如何向客戶端發送警告信息,請參見Helpful Warnings Ahead

  • Seccomp(安全計算模式)于v1.19進入GA,支持通過限制Pod或者單個容器可執行的系統調度來提高工作負載安全性。對Alpha階段的seccomp.security.alpha.kubernetes.io/podcontainer.seccomp.security.alpha.kubernetes.io注解自v1.19起被棄用,v1.27完全移除。

    建議使用Pod或容器securityContext.seccompProfile字段。

  • KCM移除啟動命令--pod-eviction-timeout(刪除失敗節點的優雅期限)和--enable-taint-manager(基于污點的驅逐能力,默認啟用)。

  • kubelet移除啟動命令--container-runtime--container-runtime-endpoint--image-service-endpoint。其中,--container-runtime在移除dockershim后,默認值保持為remote,自v1.24被棄用,在v1.27移除;--container-runtime-endpoint--image-service-endpoint不支持啟動命令,改為使用配置文件代替啟動命令的方式進行配置。

  • 廢棄SecurityContextDeny準入插件,并在未來版本中移除。

在Kubernetes 1.28版本

  • CephFS卷插件代碼已經從樹內移除。

    建議使用CephFS CSI驅動代替。

  • 廢棄對Ceph RBD卷遷移到樹外CSI存儲驅動插件的支持,將在后續版本徹底移除。

    建議在移除樹內代碼前完成遷移。

  • RBD卷插件(kubernetes.io/rbd)被廢棄,將在后續版本移除。

    建議使用CephFS CSI驅動代替。

  • KMSv1被廢棄。如果還要兼容使用KMSv1,需設置--feature-gates=KMSv1=true。更多信息,請參見廢棄KMSv1

    建議使用KMSv2。

  • KCM廢棄啟動命令--volume-host-cidr-denylist--volume-host-allow-local-loopback

  • kubelet廢棄--azure-container-registry-config

    建議使用image-credential-provider-config--image-credential-provider-bin-dir

  • 不再支持創建Windows節點池。

    您可以創建其他操作系統的節點池,例如Alibaba Cloud Linux 3、ContainerOS 3.1等。更多信息,請參見創建節點池

棄用API

CSIStorageCapacity API可以暴露當前可用的存儲容量,確保Pod調度到有足夠存儲容量的節點上。CSIStorageCapacity的storage.k8s.io/v1beta1API版本在v1.24中被廢棄,在v1.27中被移除。

建議使用storage.k8s.io/v1,該API自v1.24起可用。更多信息,請參見Storage Capacity Constraints for Pod Scheduling KEP

特性門控

本小節僅列舉部分主要變化,更多信息請參見Feature Gates

在Kubernetes 1.27版本

  • 新增NodeLogQueryAlpha特性門控,kubelet配置enableSystemLogHandlerenableSystemLogQuerytrue后可以使用kubectl查詢節點日志。

  • StatefulSetStartOrdinal進入Beta。默認啟用,允許設置StatefulSet的Pod序號從非零數開始。

  • StatefulSetAutoDeletePVC進入Beta。新的StatefulSet PVC保留策略用于控制是否以及何時刪除從StatefulSet的volumeClaimTemplate創建的PVC。

  • IPv6DualStack自v1.23進入GA后默認啟用,于v1.27徹底從各個組件代碼中移除。

    如果集群中有手動配置,需刪除該配置后才能升級集群。

  • 新增ServiceNodePortStaticSubrange Alpha特性門控,降低NodePort端口分配沖突風險。該特性對端口范圍進行劃分,使得NodePort動態分配端口盡可能在數值較高的部分,并在沖突風險較低的端口段上使用靜態分配。更多信息,請參見為NodePort Service分配端口時避免沖突

  • 新增InPlacePodVerticalScaling Alpha特性門控,允許調整Pod的CPU和內存資源時不發生Pod和容器重啟。

  • 允許擴展卷大小的特性已經GA,有三個相關特性門控將移除,并默認啟用:ExpandCSIVolumes啟用CSI卷的擴展;ExpandInUsePersistentVolumes啟用擴展正使用的PV;ExpandPersistentVolumes啟用持久卷的擴展。

  • CSIMigration將樹內存儲插件移到樹外CSI驅動程序,默認一直啟用,移除該特性門控。

  • CSIInlineVolumeCSI內聯卷在v1.25進入GA,默認一直啟用,移除該特性門控。

  • EphemeralContainers臨時容器在v1.25進入GA,默認一直啟用,移除該特性門控。

  • LocalStorageCapacityIsolation支持emptyDir卷本地臨時存儲的容量隔離,可以硬限制Pod對本地存儲資源消耗,超出限制的將被kubelet驅逐。該特性門控在v1.25進入GA,默認一直啟用,移除該特性門控。

  • NetworkPolicyEndPort支持NetworkPolicy通過配置endPort字段指定一系列端口,代替此前僅支持配置一個端口。該特性在v1.25進入GA,默認一直啟用,移除該特性門控。

  • StatefulSetMinReadySeconds支持StatefulSet配置minReadySeconds,在v1.25進入GA,默認一直啟用,移除該特性門控。

  • DaemonSetUpdateSurge支持DaemonSet配置maxSurge,在v1.25進入GA,默認一直啟用,移除該特性門控。

  • IdentifyPodOS支持為Pod指定操作系統,在v1.25進入GA,默認一直啟用,移除該特性門控。

  • ReadWriteOncePod進入Beta,默認啟用允許使用ReadWriteOncePod訪問模式的PersistentVolume。

在Kubernetes 1.28版本

  • NodeOutOfServiceVolumeDetach使用node.kubernetes.io/out-of-service污點將節點標記為停止服務時,節點上不能容忍這個污點的Pod將被強制刪除,并將立即進行卷分離操作。該特性門控在v1.28進入GA,默認一直啟用。

  • AdmissionWebhookMatchCondition默認啟用允許Webhook使用CEL表達式編寫匹配條件。

  • UnknownVersionInteroperabilityProxy進入Alpha,支持在存在多個版本的API Server時將請求代理到正確的API Server。更多信息,請參見混合版本代理

  • IPTablesOwnershipCleanup進入GA,不再創建KUBE-MARK-DROP和KUBE-MARK-MASQ iptables鏈。

  • ConsistentListFromCache進入Alpha,允許API Server通過監視緩存(Watch cache)實現List一致性讀取。

  • ProbeTerminationGracePeriod進入GA,默認啟用支持設置探針級別的terminationGracePeriodSeconds

  • 移除部分已經GA的特性門控,包括DelegateFSGroupToCSIDriverDevicePluginsKubeletCredentialProvidersMixedProtocolLBServiceServiceInternalTrafficPolicyServiceIPStaticSubrangeEndpointSliceTerminatingCondition

參考鏈接

關于Kubernetes 1.27和1.28完整的變更記錄,請參見CHANGELOG-1.27CHANGELOG-1.28