從 Amazon Linux 2 升級到 Amazon Linux 2023 - Amazon EKS

協助改善此頁面

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

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

從 Amazon Linux 2 升級到 Amazon Linux 2023

Amazon EKS 優化AMI在兩個系列中可用,基於AL2和 AL2 023。AL2023 是全新的 Linux 作業系統,旨在為您的雲端應用程式提供安全、穩定且高效能的環境。它是 Amazon 網絡服務的下一代 Amazon Linux,可1.24在所有受支持的亞馬遜EKS版本中使用,包括版本1.23和擴展支持。AMIs基於 AL2 023 的 Amazon EKS 加速將在以後提供。如果您加速了工作負載,則應繼續使用加AL2速AMI或保溫器。

AL2023 提供了一些改進AL2。有關完整比較,請參閱 Amazon 2023 用戶指南中的比較AL2和 Amazon Linux 2023。已從中新增、升級和移除數個套件AL2。強烈建議您在升級之前先使用 AL2 023 測試您的應用程式。如需 AL2 023 中所有 Package 變更的清單,請參閱 Amazon 2023 版本說明中的套更。

除了這些變更之外,您還應注意下列事項:

  • AL2023 引入使用YAML組態結構描述nodeadm的新節點初始化程序。如果您使用自我管理的節點群組或使用AMI啟動範本,則現在需要在建立新節點群組時明確提供額外的叢集中繼資料。最小必要參數的範例如下,其中apiServerEndpointcertificateAuthority、和服務現cidr在需要:

    --- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16

    在中AL2,這些參數的中繼資料是從 Amazon EKS DescribeCluster API 呼叫中探索的。使用 AL2 023 時,自大型節點擴展期間的額外API呼叫風險限制以來,此行為已發生變更。如果您使用的是沒有啟動範本的受管節點群組,或您正在使用,則此變更不會影響您Karpenter。如需有關certificateAuthority和維修的詳細資訊cidr,請參閱 Amazon EKS API 參考DescribeCluster中的。

  • Docker在 AL2 023 中不支援所有受支援的 Amazon EKS 版本。的 Support Docker 已結束,並已在中移除 Amazon EKS 版本1.24或更高版本AL2。如需淘汰的詳細資訊,請參閱從移轉dockershim到 containerd

  • AL2023 需要 Amazon VPC CNI 版本1.16.2或更高版本。

  • AL2默認情況IMDSv2下需要 023。 IMDSv2有幾個有助於改善安全狀態的好處。它使用面向會話的身份驗證方法,該方法需要在簡單HTTPPUT請求中創建秘密令牌才能啟動會話。會話的令牌可以在 1 秒到 6 小時之間的任何地方有效。如需如何從IMDSv1轉換至的詳細資訊IMDSv2,請參閱轉換為使用執行個體中繼資料服務版本 2取得整個 AWS 基礎結構的完整好處IMDSv2和停IMDSv1用。如果您想要使用IMDSv1,您仍然可以使用執行個體中繼資料選項啟動屬性來手動覆寫設定。

    注意

    對於IMDSv2,受管理節點群組的預設躍點計數設定為 1。這表示容器將無法使用存取節點的認證IMDS。如果您需要容器存取節點的登入資料,您仍然可以透過手動覆寫自訂 Amazon EC2 啟動範本HttpPutResponseHopLimit中的,將範本增加到 2。 或者,您可以使用 Amazon EKS Pod 身份提供登入資料,而不是IMDSv2

  • AL2023 具有下一代統一控制群組階層 (cgroupv2)。 cgroupv2用於實現容器運行時,並通過systemd. 雖然 AL2 023 仍然包含可以使系統運行使用的代碼cgroupv1,但這不是建議或支持的配置。此組態將在 future 的主要發行版本中完全移除。

  • eksctl需要版本0.176.0或更高版本才eksctl能支援 AL2 023。

對於先前現有的受管理節點群組,您可以執行就地升級或藍/綠升級,視您使用啟動範本的方式而定:

  • 如果您將自訂AMI與受管理的節點群組搭配使用,則可以透過交換啟動範本中的 AMI ID 來執行就地升級。在執行此升級策略之前,您應該確保您的應用程式和任何使用者資料先傳輸到 AL2 023。

  • 如果您要搭配標準啟動範本或未指定 AMI ID 的自訂啟動範本使用受管節點群組,則必須使用藍/綠策略進行升級。藍/綠升級通常比較複雜,而且需要建立一個全新的節點群組,您可以在其中AMI指定 AL2 023 做為類型。然後必須仔細設定新節點群組,以確保AL2節點群組中的所有自訂資料都與新作業系統相容。在您的應用程式中測試並驗證新節點群組之後,就Pods可以從舊節點群組移轉到新節點群組。移轉完成後,您可以刪除舊的節點群組。

如果您正在使用Karpenter並希望使用 AL2 023,則需要使用 AL2 023 修改該EC2NodeClassamiFamily字段。依預設,在中啟用「漂移」Karpenter。這表示一旦amiFamily欄位變更,Karpenter會在可用AMI時自動將您的 Worker 節點更新為最新的節點。