協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的在 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 版本FlowSchema
和1.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
因此最舊支援的次要版本的節點元件 (kubelet
和kube-proxy
) 可以使用最新支援的次要版本的控制平面元件 (kube-apiserver
、kube-scheduler
、kube-controller-manager
、cloud-controller-manager
)。 -
Pod GC Controller
的指標force_delete_pods_total
和force_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/pod
和container.seccomp.security.alpha.kubernetes.io
註釋的支援已移除。Alphaseccomp
註釋已在1.19
中棄用,在1.27
中刪除後,seccomp
欄位將不再為包含seccomp
註釋的Pods
自動填入。請改為使用Pods
的securityContext.seccompProfile
欄位或容器來設定seccomp
設定檔。若要檢查您是否在叢集中使用已棄用的 Alphaseccomp
註釋,請執行下列命令: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
提高kubeAPIQPS
為50
,並將預設值提高kubeAPIBurst
為100
。這些增強功能允許kubelet
處理更大量的 API 查詢,改善回應時間和效能。當Pods
的需求增加時,由於擴展要求,修改後的預設值可確保kubelet
能有效管理增加的工作負載。因此,Pod
啟動速度更快,且叢集作業更有效率。 -
您可以使用更精細的
Pod
拓撲來傳播政策,例如minDomain
。此參數可讓您指定Pods
應傳播的網域數目下限。nodeAffinityPolicy
和nodeTaintPolicy
則允許在管理Pod
分佈中額外的細部程度。這是根據節點親和性、污點和Pod’s
規格的topologySpreadConstraints
之中的matchLabelKeys
欄位而定。如此可允許在滾動升級之後選取Pods
以供分攤計算之用。 -
Kubernetes
1.27
提升為 BetaStatefulSets
版,這是控制其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