在延伸支援上檢閱 Kubernetes 版本的版本備註 - Amazon EKS

協助改善此頁面

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

若要提供此使用者指南,請選擇位於每個頁面右窗格中的在 GitHub 上編輯此頁面連結。

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

在延伸支援上檢閱 Kubernetes 版本的版本備註

Amazon EKS 支援比上游支援的 Kubernetes 版本更長的 Kubernetes 版本,從 Amazon EKS 發行 Kubernetes 次要版本起 14 個月的標準支援,以及額外 12 個月的 Kubernetes 次要版本延伸支援 (每個版本總計 26 個月)。

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

Kubernetes 1.29

Kubernetes 1.29 現在可在 Amazon EKS 中使用。如需 Kubernetes 的詳細資訊1.29,請參閱官方版本公告

重要
  • Kubernetes 版本 PriorityLevelConfiguration 不再提供已取代的 flowcontrol.apiserver.k8s.io/v1beta2 API 版本 FlowSchema1.29。如果您有使用已棄用 Beta API 群組的資訊清單或用戶端軟體,您應該在升級至版本 之前進行變更1.29

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

  • 在 Kubernetes 中1.29,為了減少潛在的攻擊面,如果長時間未使用 (預設為 1 年),LegacyServiceAccountTokenCleanUp此功能會將舊式自動產生的秘密型權杖標記為無效 (預設為 1 年),並在長時間未嘗試使用時自動將其移除。若要識別這類字符,您可以執行的 :

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

如需完整的 Kubernetes 1.29變更日誌,請參閱 https://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的污點,或是終止和未排程而被強制刪除。

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

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

Kubernetes 1.27

Kubernetes 1.27 現在可在 Amazon EKS 中使用。如需 Kubernetes 的詳細資訊1.27,請參閱官方發行公告

重要
  • 對 Alpha seccomp 註釋 seccomp.security.alpha.kubernetes.io/podcontainer.seccomp.security.alpha.kubernetes.io 註釋的支援已移除。Alpha seccomp 註釋已在 1.19 中棄用,在 1.27 中刪除後,seccomp 欄位將不再為包含 seccomp 註釋的 Pods 自動填入。請改為使用 PodssecurityContext.seccompProfile 欄位或容器來設定 seccomp 設定檔。若要檢查您是否在叢集中使用已棄用的 Alpha seccomp 註釋,請執行下列命令:

    kubectl get pods --all-namespaces -o json | grep -E 'seccomp.security.alpha.kubernetes.io/pod|container.seccomp.security.alpha.kubernetes.io'
  • 系統已移除 kubelet--container-runtime 命令行引數。Amazon EKS 的預設容器執行時間自 containerd開始1.24,因此不需要指定容器執行時間。自 1.27 起,Amazon EKS 將忽略傳遞給任何啟動程序指令碼的 --container-runtime 引數。為了防止節點引導程序期間發生錯誤,請勿將此引數傳遞給 --kubelet-extra-args 。您必須移除所有節點建立工作流程和建置指令碼中的 --container-runtime 引數。

  • Kubernetes kubelet中的 將預設值1.27提高kubeAPIQPS50,並將預設值提高kubeAPIBurst100。這些增強功能允許 kubelet 處理更大量的 API 查詢,改善回應時間和效能。當 Pods 的需求增加時,由於擴展要求,修改後的預設值可確保 kubelet 能有效管理增加的工作負載。因此,Pod 啟動速度更快,且叢集作業更有效率。

  • 您可以使用更精細的 Pod 拓撲來傳播政策,例如 minDomain。此參數可讓您指定 Pods 應傳播的網域數目下限。nodeAffinityPolicynodeTaintPolicy 則允許在管理 Pod 分佈中額外的細部程度。這是根據節點親和性、污點和 Pod’s 規格的 topologySpreadConstraints 之中的 matchLabelKeys 欄位而定。如此可允許在滾動升級之後選取 Pods 以供分攤計算之用。

  • Kubernetes 1.27提升為 Beta StatefulSets 版,這是控制其 PersistentVolumeClaims() 生命週期的新政策機制PVCs。全新的 PVC 保留政策可讓您指定,當 StatefulSet 被刪除或 StatefulSet 中的複本縮減規模時,從 StatefulSet 規格範本產生的 PVCs 是否會自動刪除或保留。

  • Kubernetes API 伺服器中的 goaway-chance 選項可透過隨機關閉連線,協助防止HTTP/2用戶端連線卡在單一 API 伺服器執行個體上。如果連線關閉,用戶端會嘗試重新連線,並且可能會因負載平衡而停留在不同的 API 伺服器上。Amazon EKS 版本 1.27 已啟用 goaway-chance 旗標。如果您在 Amazon EKS 叢集上執行的工作負載使用與 HTTP GOAWAY 不相容的用戶端,我們建議您在連線終止時重新連線GOAWAY以更新用戶端來處理。

如需完整的 Kubernetes 1.27變更日誌,請參閱 https://https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md#changelog-since-v1260

Kubernetes 1.26

Kubernetes 1.26 現在可在 Amazon EKS 中使用。如需 Kubernetes 的詳細資訊1.26,請參閱官方發行公告

重要

Kubernetes 1.26不再支援 CRI v1alpha2。如果容器執行時間不支援 CRI,這會導致 kubelet不再註冊節點v1。這也表示 Kubernetes 1.26 不支援容器化次要版本 1.5和更早版本。如果您使用的是 containerd,則必須先升級至容器版本 1.6.0 或更新版本,才能將任何節點升級至 Kubernetes 1.26。您也需要升級僅支援 v1alpha2 的任何其他容器執行期。如需詳細資訊,請參閱容器執行期廠商。根據預設,Amazon Linux 和 Bottlerocket AMIs 包含容器版本 1.6.6

  • 升級至 Kubernetes 之前1.26,請將適用於 Kubernetes 的 Amazon VPC CNI 外掛程式升級至版本 1.12或更新版本。如果您未升級至適用於 Kubernetes 版本 1.12或更新版本的 Amazon VPC CNI 外掛程式,適用於 Kubernetes 的 Amazon VPC CNI 外掛程式將會當機。如需詳細資訊,請參閱使用 Amazon VPC CNI 將 IPs 指派給 Pod

  • Kubernetes API 伺服器中的 goaway-chance 選項可透過隨機關閉連線,協助防止HTTP/2用戶端連線卡在單一 API 伺服器執行個體上。如果連線關閉,用戶端會嘗試重新連線,並且可能會因負載平衡而停留在不同的 API 伺服器上。Amazon EKS 版本 1.26 已啟用 goaway-chance 旗標。如果您在 Amazon EKS 叢集上執行的工作負載使用與 HTTP GOAWAY 不相容的用戶端,我們建議您在連線終止時重新連線GOAWAY,以更新用戶端來處理。

如需完整的 Kubernetes 1.26變更日誌,請參閱 https://https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.26.md#changelog-since-v1250