問:什麼是 Amazon EKS Distro?
Amazon EKS Distro 是 Amazon Elastic Kubernetes Service (EKS) 所部署的相同開放原始碼 Kubernetes 和相依項的發行版,可協助您在任何地方手動執行 Kubernetes 叢集。EKS Distro 包含開放原始碼 Kubernetes、etcd (叢集組態資料庫)、聯網和儲存裝置外掛程式的二進位檔與容器,並已完成相容性的測試。EKS Distro 將在社群支援到期後,為 Kubernetes 版本提供延長支援,方法是使用最新的重大安全修補程式更新舊版的建置。您可以使用 Amazon Simple Storage Service (S3) 和 Amazon Elastic Container Registry (ECR) 安全地在 GitHub 上或 AWS 內以開放原始碼形式存取 EKS Distro 發行版,以取得發行版和更新的一般來源。部署叢集,並讓 AWS 負責測試和追蹤 Kubernetes 更新、相依項和修補程式。每個 EKS Distro 會驗證新版 Kubernetes 的相容性。系統會提供原始碼、開放原始碼工具和設定,來建立可重現的建置。
問:Amazon EKS Distro 可解決什麼問題?
如果手動建立 Kubernetes 叢集,您可能會花費很多心力來追蹤更新、判斷 Kubernetes 及其相依項的相容版本、測試這些版本是否相容,並跟上 Kubernetes 發佈的腳步。然而,在選擇所需的 Kubernetes 元件版本和安全發行版以在效能、安全和最新穩定版本之間取得適當的平衡時,您可能不確定。您需要分配資源和時間,維護 Kubernetes 測試基礎設施,以確保 Kubernetes 和其相依項之元件版本相容性、支援工具相容性和每個版本發行的效能回歸。您可能不會執行這些測試,或是花費大量心力和費用以跟上 Kubernetes 版本發行生命週期。每隔三至四個月就會宣佈全新的 Kubernetes 版本,內含僅供三個最新版本的重大安全修補程式支援。如果您無法跟上測試和鑑定新版本的步調,就會面臨以下風險:無法套用重大變更、版本相容性問題和執行 Kubernetes 不受支援的版本 (其中缺少重大安全修補程式)。
問:為什麼應該使用 Amazon EKS Distro?
EKS Distro 可協助您使用與最新發行版及其相依項 (均已經測試,符合可靠性和安全性) 相容的 Kubernetes 發行版,手動執行叢集。EKS Distro 可讓您存取可安裝、可重現的 Kubernetes 建置進行叢集建立,以及在社群支援過期後,延長安全修補支援。根據 Amazon EKS 版本生命週期政策,提供長達 14 個月的延長 Kubernetes 維護支援,可為您提供所需時間來更新基礎設施,使其與軟體生命週期保持一致。
問:為何您應使用 Amazon EKS Distro,而不是自行建置和管理 Kubernetes?
Amazon EKS Distro 減少了追蹤更新、判斷相容性以及在分散式團隊中對通用 Kubernetes 版本進行標準化的需求。這可讓您更輕鬆地建立叢集和管理 Kubernetes 生命週期。雖然您也許能夠自行操作,但這需要花費很多心力。EKS Distro 透過 Amazon EKS 版本支援為您提供經過相容性測試的最新安全版本,讓您充滿信心。
問:如何開始使用 Amazon EKS Distro?
若要建立 Amazon EKS Distro 叢集,您將需要在每部叢集伺服器上設定伺服器、聯網和安裝支援的作業系統 (OS)。如果您有現有的叢集建立工具,可以更新其設定,從 GitHub 或 Amazon S3 和 Amazon ECR,來下載 EKS Distro。如果您是首次建立以 EKS Distro 為基礎的叢集,您可以使用 kubeadm 或 Kubernetes Operations (kops)。
問:我可以在哪建立 Amazon EKS Distro 叢集?
您可以使用 Amazon Elastic Compute Cloud (EC2) 在 AWS 上建立 Amazon EKS Distro 叢集,也可在自己硬體上的內部部署中建立,還可使用所選的工具在其他雲端上建立。
問:Amazon EKS Distro 中包含什麼?
Amazon EKS Distro 將包含開放原始碼 (上游) Kubernetes 元件和第三方工具,包含叢集建立所需的組態、資料庫、網路和儲存元件。這些包含 Kubernetes 控制平面元件 (例如,kube-controller-manager、etcd 和 CoreDNS)、Kubernetes 節點元件 (例如,kubelet、Kubernetes CSI 和 CNI),以及命令列用戶端 (例如,kubectl 和 etcdctl)。
問:Amazon EKS Distro 支援 Kubernetes 的哪些版本?
Amazon EKS Distro 支援 Amazon EKS 使用的相同 Kubernetes 版本和小數點版本。當前版本在 GitHub 儲存庫中註明。
問:Amazon EKS Distro 包含哪些修補程式?
Amazon EKS Distro 將包含 Amazon EKS 所使用的所有上游修補程式,包含 Amazon 向社群回饋的修正。
問:Amazon EKS Distro 包含與 AWS 服務通訊的 AWS 元件 (例如,aws-cloudprovider、aws-kms-encryption-provider 和 aws-iam-authenticator) 嗎?
Amazon EKS Distro 不會包含官方的 Kubernetes 網路、儲存外掛程式或 AWS Identity and Access Management (IAM) 驗證器。EKS Distro 包含在所有環境中運作所需的 Kubernetes 元件,而不是適用於每個環境的所有元件。
問:我能夠對哪些作業系統部署 Amazon EKS Distro?
Amazon EKS Distro 提供了相同的 Kubernetes 和相依項上游版本,作業系統廠商已測試並確認這些版本可以與 Kubernetes 一起運作。因此,EKS Distro 可以與已經在執行 Kubernetes 叢集時所用的常見作業系統 (例如,CentOS、Canonical Ubuntu、Red Hat Enterprise Linux、Suse 等) 協同合作。我們已與特定廠商測試 EKS Distro,來確保在 Bottlerocket、Amazon Linux 2 (AL2) 的支援,而 Canonical 已測試 EKS Distro 與 Ubuntu 的相容性。AWS 會持續與合作夥伴協同合作,來擴大已獲得與作業系統相容的 EKS Distro 資格的廠商。
問:新版 Amazon EKS Distro 的發行週期為何?
全新 Amazon EKS Distro 版本的生命週期會與 Amazon EKS 版本生命週期保持一致,並會在 Amazon EKS 當天或不久後發佈。與 Amazon EKS 保持一致是必要的,以便 EKS Distro 發行遵循 Kubernetes 版本和第三方相依項的相同發行資格,並確保使用經 Amazon EKS 測試的相同元件版本建立叢集,以確認可靠性和更新的安全修補程式。
問:如何收到有可用的新 Amazon EKS Distro 版本的通知?
您可以訂閱在新版本可用時的通知,從而無需追蹤 Kubernetes 和每個相依性的版本發行。您就能利用 Amazon Simple Notification Service (SNS) 作為事件驅動型觸發,來開始全新 EKS Distro 版本的採用工作流程。
問:Amazon EKS Distro 是否為 Kubernetes 版本提供延長支援?
是。Amazon EKS Distro 為舊版 Kubernetes (包含開放原始碼 Kubernetes 社群不再支援的版本) 進行修補,提供重大 Kubernetes 安全修補程式的延長維護。舊版 Kubernetes 的社群支援包含最近三次的發行 (九個月),但使用 EKS Distro,您可以接收 Kubernetes 版本的安全修補,此修補與 Amazon EKS 版本生命週期政策保持一致,即最新四個版本,外加 60 天 (共 14 個月)。
問:Amazon EKS Distro 是否會為每個 Kubernetes 小數點版本提供建置和發行?
否。Amazon EKS Distro 僅會提供建置和相依性更新 (例如 CoreDNS 和 etcd),這些更新與 Kubernetes 版本和 Amazon EKS 提供支援的小數點版本都保持一致。
問:我如何確保建置未遭到入侵?
我們將為您提供建置環境旗標和每個二進位的原始程式碼連結,這將確認您使用的是可重現的建置。AWS 將為 Kubernetes 提供原始碼、建置時所用的修補程式、工具、以及包含時間戳記的建置時間選項。在建置後,您可以驗證發佈的 EKS Distro 版本的湊雜與您編譯的內容是否一致。GitHub 文件和版本控制將讓您檢閱建置之間的差異,以進行驗證。
問:如果您想要重現建置,我們會提供哪些工具?
為了提供值得信任的可重現建置,您需要信賴建置工具的供應鏈和編譯。Amazon EKS Distro 建置任務的執行會使用建議的上游 Kubernetes CI 和建置基礎設施,如此您就可以使用相同的程序。我們會使用 Amazon Linux2 將 CoreDNS 之類的元件封裝在容器中。程序和工具的發佈也會作為工具供應鏈的未來稽核追蹤,以支援這些程序。
問:Amazon EKS Distro 如何與其他 AWS 服務關聯/搭配使用?
Amazon EKS Distro 與 Amazon EKS 版本和元件保持一致,由 Amazon EKS 操作儀表板提供支援。EKS Distro 還為在 AWS 上建立 Kubernetes 叢集的開發人員提供 Amazon S3 和 ECR 中的建置副本。EKS Distro 已經過測試,可與 Amazon Linux 2、Bottlerocket 和 AWS Outposts 搭配使用。EKS Distro 支援將 ECR Public 儲存庫作為安全、快速的來源,可供您下載要在 AWS 區域或內部部署內使用的 EKS Distro。
問:適用於 Amazon EKS Distro 的支援模型為何?
AWS 致力於維護此開放原始碼專案、與社群互動,並對問題進行分類。AWS 會檢閱與回應客戶提交的問題,並在我們能力所及範圍內盡力提供修正和修補程式。合作夥伴可透過 Amazon 合作夥伴網路計劃接收支援,以啟用 Amazon EKS Distro 採用、存取成品和工具、文件,並解決與產生可重現建置相關的問題。採用 EKS Distro 的客戶可透過合作夥伴和系統整合商接收來自這些供應商的支援。
問:可以在哪裡進一步了解 Amazon EKS Distro?
開始在 GitHub 上建置 Amazon EKS Distro。同時進一步了解適用於 Amazon EKS Distro 的 AWS 合作夥伴。