本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
成本最佳化
為了支援有效的資源控制,Kubernetes 成本最小化對於使用此容器協同運作技術的企業至關重要。由於 Kubernetes 設定的複雜性,因此很難正確追蹤其支出,其中包括 Pod 和節點等多個元件。透過運用成本最佳化技術,企業可以查看資源的花費,並適當地將費用指派給部門或專案。
雖然動態擴展具有優勢,但如果未正確管理,可能會導致不可預見的費用。有效率的成本管理有助於僅在真正需要時才配置資源,避免意外的支出激增。
本節討論下列成本最佳化方法:
Kubecost
Kubecost
Kubecost 提供下列主要功能:
-
成本分配 – Kubecost 為 Kubernetes 資源提供全面的成本分配,包括工作負載、服務、命名空間和標籤。此功能可協助團隊依環境、專案或團隊監控成本。
-
即時成本監控 – 它提供雲端成本的即時監控,讓組織立即洞察支出模式,並協助防止意外的成本超支。
-
最佳化建議 – Kubecost 提供將資源使用率降至最低的實際建議,包括減少閒置資源、適當調整工作負載大小,以及最大化儲存體費用。
-
預算和提醒 – Kubecost 使用者可以建立預算,並在支出接近或超過預定條件時收到提醒。此功能可協助團隊遵守財務限制。
金絲雀
Goldilocks
Goldilocks 提供下列主要功能:
-
資源建議 – Goldilocks 透過分析 Kubernetes 工作負載的過去 CPU 和記憶體耗用統計資料,決定資源請求和限制的理想設定。透過這樣做,可以更輕鬆地避免佈建不足或過度,這可能會導致效能問題和資源浪費。
-
VPA 整合 – Goldilocks 利用 Kubernetes Vertical Pod Autoscaler (VPA) 收集資料並提供建議。它在「建議模式」中執行,表示它實際上不會變更資源設定,但提供這些設定應該是什麼的指導。
-
命名空間型分析 – 透過允許您將特定命名空間設為目標進行分析,Goldilocks 可讓您微調要最佳化和監控的工作負載。
-
視覺化儀表板 – Web 型儀表板會以視覺化方式顯示建議的資源請求和限制,可讓您直接了解資料並對其採取動作。
-
非侵入性操作 – Goldilocks 不會變更叢集的設定,因為它在建議模式下操作。如果需要,您可以在檢閱建議後手動套用建議的資源設定。
AWS Fargate
在 Amazon EKS 的環境中, https://docs.aws.amazon.com/eks/latest/userguide/fargate.htmlAWS Fargate 可讓您在不管理基礎 Amazon EC2 執行個體的情況下執行 Kubernetes Pod。這是一個無伺服器運算引擎,可讓您專注於部署和擴展容器化應用程式,而無需擔心基礎設施。
AWS Fargate 提供下列主要功能:
-
無基礎設施管理 – Fargate 無需佈建、管理或擴展 Amazon EC2 執行個體或 Kubernetes 節點。 會 AWS 處理所有基礎設施管理,包括修補和擴展。
-
Pod 層級隔離 – 與以 Amazon EC2 為基礎的工作者節點不同,Fargate 提供任務或 Pod 層級隔離。每個 Pod 都在自己的隔離運算環境中執行,可增強安全性和效能。
-
自動擴展 – Fargate 會根據需求自動擴展 Kubernetes Pod。您不需要管理擴展政策或節點集區。
-
每秒計費 – 您只需為每個 Pod 執行的確切持續時間內消耗的 vCPU 和記憶體資源付費,這是特定工作負載經濟實惠的選項。
-
減少額外負荷 – 透過消除管理 EC2 執行個體的需求,Fargate 可讓您專注於建置和管理應用程式,而不是基礎設施操作。
Spot 執行個體
Spot 執行個體相較於隨需執行個體定價可大幅節省成本,也是在 Amazon EKS 叢集中執行 Amazon EC2 工作者節點的實惠選項。不過,在需要隨需執行個體容量的情況下, AWS 可以中斷 Spot 執行個體。當需要容量時, AWS 可以在 2 分鐘內通知 回收 Spot 執行個體,使其對關鍵且具狀態的工作負載較不可靠。
對於對成本敏感且可承受中斷的工作負載,Amazon EKS 中的 Spot 執行個體是不錯的選擇。在 Kubernetes 叢集中使用 Spot 執行個體和隨需執行個體的組合,可協助您節省成本,而不會犧牲重要工作負載的可用性。
Spot 執行個體提供下列主要功能:
-
節省成本 – Spot 執行個體的成本可能低於隨需執行個體定價
,因此非常適合成本敏感的工作負載。 -
適用於容錯工作負載 – 非常適合無狀態、容錯工作負載,例如批次處理、CI/CD 任務、機器學習或大規模資料處理,其中執行個體可以替換而不會發生重大中斷。
-
自動擴展群組整合 – Amazon EKS 會將 Spot 執行個體與 Kubernetes Cluster Autoscaler 整合,以其他可用的 Spot 執行個體或隨需執行個體自動取代中斷的 Spot 執行個體節點。
預留執行個體
在 Amazon EKS 中,預留執行個體
預留執行個體通常用於 Amazon EC2。不過,如果工作負載需要長期且可預測的用量,則 Amazon EKS 叢集 (即 EC2 執行個體) 中的工作者節點也可以受益於此節省成本的模型。
需要高可用性和一致效能的生產服務、資料庫和其他具狀態應用程式,是非常適合預留執行個體的穩定工作負載範例。
預留執行個體提供下列主要功能:
-
節省成本 – 預留執行個體相較於隨需執行個體可節省成本,取決於期限長度 (1 或 3 年) 和付款計劃
(全部預付、部分預付或無預付)。 -
長期承諾 – 您承諾特定執行個體類型、大小和 的 1 年或 3 年期間 AWS 區域。這非常適合穩定且隨時間持續執行的工作負載。
-
可預測定價 – 由於您致力於特定期限,預留執行個體提供可預測的每月或預付成本,讓您更輕鬆地為長期工作負載編列預算。
-
執行個體彈性 – 使用可轉換預留執行個體,您可以在保留期間變更執行個體類型、系列或大小。可轉換預留執行個體比標準預留執行個體提供更多彈性,這不允許變更。
-
保證容量 – 預留執行個體可確保在進行保留的可用區域中提供容量,這對於需要一致運算能力的關鍵工作負載至關重要。
-
無中斷風險 – 與 Spot 執行個體不同,預留執行個體不會受到 中斷 AWS。這使得它們非常適合執行需要保證執行時間的任務關鍵工作負載。
AWS Graviton 執行個體
AWS Graviton
Graviton 執行個體是雲端原生和運算密集型應用程式的絕佳選項,因為它們提供比 x86 執行個體更高的價格效能比。不過,當您考慮採用 Graviton 執行個體時,請將 ARM 相容性納入考量。
AWS Graviton 執行個體提供下列主要功能:
-
ARM 型架構 – AWS Graviton 處理器是以 ARM 架構為基礎,與傳統 x86 架構不同,但對於許多工作負載具有高效率。
-
具成本效益 – 相較於以 x86 為基礎的 Amazon EC2 EC2 執行個體通常可提供更好的價格效能。這使它們成為執行 Amazon EKS 之 Kubernetes 叢集的吸引人選項。
-
效能 – Graviton2 處理器是第二代 AWS Graviton,在運算效能、記憶體輸送量和能源效率方面提供顯著改善。它們非常適合 CPU 密集型和記憶體密集型工作負載。
-
多樣化執行個體類型 – Graviton 執行個體有多種系列,例如 t4g、m7g、c7g 和 r7g,涵蓋從一般用途到運算最佳化、記憶體最佳化和爆量工作負載的各種使用案例。
-
Amazon EKS 節點群組 – 您可以設定由 Amazon EKS 或自我管理節點群組管理的節點群組,以包含 Graviton 型執行個體。透過此方法,您可以在相同的 Kubernetes 叢集以及 x86 型執行個體上執行針對 ARM 架構最佳化的工作負載。