檢閱 的版本備註 Kubernetes 標準支援的版本 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢閱 的版本備註 Kubernetes 標準支援的版本

本主題提供每個 的重要變更 Kubernetes 標準支援的版本。於升級時,請仔細檢閱叢集舊版和新版本之間發生的變更。

注意

對於 1.24 和更新版本的叢集,正式發佈的 Amazon EKSAMIs包含 containerd作為唯一的執行期。Kubernetes 早於1.24使用的版本 Docker 作為預設執行時間。這些版本具有引導旗標選項,您可以使用引導旗標選項在任何支援的具有 containerd 的叢集上測試工作負載。如需詳細資訊,請參閱從移轉dockershim到 containerd

Kubernetes 1.31

Kubernetes 1.31 現在可在 Amazon 中使用EKS。如需關於 Kubernetes 1.31,請參閱官方版本公告

重要
  • 所以此 kubelet 自 2017 年以來已--keep-terminated-pod-volumes棄用 的 旗標已作為 v1.31 版本的一部分移除。此變更會影響終止的 Pod 磁碟區如何處理 kubelet。 如果您在節點組態中使用此標記,則必須更新引導指令碼並啟動範本,才能在升級之前將其移除。

  • 測試版VolumeAttributesClass功能閘道API和資源已在 Amazon EKS 中啟用v1.31。此功能允許叢集運算子修改由相容CSI驅動程式管理的持久性磁碟區 (PVs) 的可變屬性,包括 Amazon EBSCSI驅動程式 。若要利用此功能,請確定您的CSI驅動程式支援VolumeAttributesClass此功能 (對於 Amazon EBSCSI驅動程式,請升級至 v1.35.0 或更新版本以自動啟用此功能)。您將能夠建立VolumeAttributesClass物件來定義所需的磁碟區屬性,例如磁碟區類型和輸送量,並將其與您的持久磁碟區宣告建立關聯 (PVCs)。如需詳細資訊,請參閱官方 Kubernetes 文件以及CSI驅動程式的文件。

  • 的 Kubernetes 支援AppArmor已逐漸提升至穩定,現在已正式推出供大眾使用。此功能可讓您 AppArmor 透過設定容器的 中的 appArmorProfile.type 欄位來保護您的容器securityContext。在 Kubernetes 之前v1.30,AppArmor 由註釋控制。從 開始v1.30,它使用 欄位進行控制。若要利用此功能,我們建議您從註釋遷移並使用 appArmorProfile.type 欄位,以確保您的工作負載相容。

  • PersistentVolume 最後一個階段轉換時間功能已提升至穩定,現在可在 Kubernetes 中公開使用 v1.31。 此功能會在 .status.lastTransitionTime中引入新欄位 PersistentVolumeStatus,提供上次轉換至不同階段時的 PersistentVolume時間戳記。此增強功能可更好地追蹤和管理 PersistentVolumes,特別是在了解磁碟區生命週期很重要的情況下。

如需完整 Kubernetes 1.31 changelog,請參閱 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md

Kubernetes 1.30

Kubernetes 1.30 現在可在 Amazon 中使用EKS。如需關於 Kubernetes 1.30,請參閱官方版本公告

重要
  • 從 Amazon EKS版本1.30或更新版本開始,任何新建立的受管節點群組都會自動預設為使用 Amazon Linux 2023 (AL2023) 作為節點作業系統。之前,新的節點群組預設為 Amazon Linux 2 (AL2)。在建立新節點群組時,您可以選擇AL2其作為AMI類型,以繼續使用 。

  • 使用 Amazon EKS 時1.30topology.k8s.aws/zone-id標籤會新增至工作者節點。您可以使用可用區域 IDs(AZ IDs) 來判斷一個帳戶中資源相對於另一個帳戶中資源的位置。如需詳細資訊,請參閱 AWS RAM 使用者指南 中的 AWS 資源IDs可用區域

  • 從 開始1.30,Amazon EKS不再包含套用至新建立叢集gp2 StorageClass的資源default註釋。如果您依名稱參考此儲存體類別,這不會受到影響。如果您依賴叢集StorageClass中的預設值,則必須採取行動。您應該StorageClass以名稱 來參考 gp2。或者,您可以在安裝 v1.31.0或更新版本時,將 defaultStorageClass.enabled 參數設定為 true,以部署 Amazon EBS建議的預設儲存類別aws-ebs-csi-driver add-on

  • Amazon EKS叢集IAM角色所需的最低IAM政策已變更。動作ec2:DescribeAvailabilityZones為必要項目。如需詳細資訊,請參閱Amazon EKS 群集IAM角色

如需完整 Kubernetes 1.30 changelog,請參閱 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md

Kubernetes 1.29

Kubernetes 1.29 現在可在 Amazon 中使用EKS。如需關於 Kubernetes 1.29,請參閱官方版本公告

重要
  • 和 的已棄用flowcontrol.apiserver.k8s.io/v1beta2API版本FlowSchemaPriorityLevelConfiguration不再在 中提供 Kubernetes v1.29。 如果您有使用已棄用 Beta API群組的清單或用戶端軟體,您應該在升級至 之前變更這些清單或用戶端軟體v1.29

  • 節點物件.status.kubeProxyVersion的欄位現在已棄用,且 Kubernetes 專案建議在未來版本中移除該欄位。已棄用的欄位不精確,且過去是由 kubelet 管理,但 實際上並不知道kube-proxy版本,甚至是否kube-proxy正在執行。如果您在用戶端軟體中使用此欄位,請停止 - 資訊不可靠,且欄位現在已棄用。

  • In (入) Kubernetes 1.29 為了減少潛在的攻擊面,如果長時間不使用 (預設為 1 年),則LegacyServiceAccountTokenCleanUp特徵會將舊的自動產生的秘密型權杖標記為無效 (預設為額外 1 年),如果在標記為無效 (預設為額外 1 年) 之後長時間未嘗試使用,則會自動將其移除。若要識別這些權杖,您可以執行:

    kubectl get cm kube-apiserver-legacy-service-account-token-tracking -n kube-system

如需完整 Kubernetes 1.29 changelog,請參閱 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v1280

Kubernetes 1.28

Kubernetes 1.28 現在可在 Amazon 中使用EKS。如需關於 Kubernetes 1.28,請參閱官方版本公告

  • Kubernetes v1.28 將核心節點和控制平面元件之間的支援偏移擴展了一個次要版本,從 n-2 n-3,因此最舊支援的次要版本的節點元件 (kubeletkube-proxy) 可以使用最新支援的次要版本的控制平面元件 (kube-apiserverkube-schedulerkube-controller-managercloud-controller-manager)。

  • Pod GC Controller 的指標 force_delete_pods_totalforce_delete_pod_errors_total 已經增強,負責所有強制 Pod 刪除。將原因新增至指標,以指出 Pod 是否因為終止、孤立、終止 out-of-service為 taint,或終止與未排程而被強制刪除。

  • 已修改 PersistentVolume (PV) 控制器,自動將預設 StorageClass 指定給任何未設定 PersistentVolumeClaim 的未受限制 storageClassName。此外,已調整API伺服器內的PersistentVolumeClaim許可驗證機制,以允許將值從未設定狀態變更為實際StorageClass 名稱。

如需完整 Kubernetes 1.28 changelog,請參閱 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1270