本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
運算擴展
運算擴展是動態 Kubernetes 環境中應用程式效能的關鍵元件。Kubernetes 透過動態調整運算資源 (例如 CPU 和記憶體) 來減少浪費,以回應即時需求。此功能有助於避免過度佈建或佈建不足,這也可以節省營運費用。Kubernetes 可讓基礎設施在尖峰時間自動擴展,以及在離峰期間自動縮減,有效消除手動介入的需求。
Kubernetes 的整體運算擴展會自動化擴展程序,進而提高應用程式的彈性和可擴展性,並增強其容錯行為。最後,Kubernetes 的功能可增強卓越營運和生產力。
本節討論下列類型的運算擴展:
叢集 AutoScaler
根據 Pod 的需求,Cluster Autoscaler 工具會自動修改大小,方法是在必要時新增節點,或在不需要節點且未充分利用時移除節點。
將 Cluster Autoscaler 工具視為工作負載的擴展解決方案,其中需求逐漸增加,擴展的延遲不是主要問題。
Cluster Autoscaler 工具提供下列主要功能:
-
擴展 – 動態擴展和縮減節點,以回應實際的資源需求。
-
Pod 排程 – 有助於確保每個 Pod 正在運作,並擁有運作所需的資源,防止資源不足。
-
成本效益 – 消除操作未充分利用節點的不必要的費用。
具有過度佈建的 Cluster Autoscaler
Cluster Autoscaler 具有與 Cluster Autoscaler 類似的過度佈建
具有過度佈建的 Cluster Autoscaler 提供虛擬 Pod 的功能,可在工作負載非常大、不需要延遲且擴展需要快速時,用來輕鬆部署和執行節點。
具有過度佈建的 Cluster Autoscaler 提供下列主要功能:
-
更好的回應能力 – 透過讓多餘的容量持續可存取,擴展叢集以回應需求激增所需的時間更短。
-
資源保留 – 管理流量中非預期的尖峰,可在極少的停機時間下有效地協助正確的管理。
-
順暢擴展 – 將資源分配延遲降至最低,有助於更順暢的擴展程序。
Karpenter
Karpenter for Kubernetes 在開放原始碼、效能和可自訂性方面優於傳統 Cluster Autoscaler 工具。使用 Karpenter,您只能自動啟動所需的運算資源,以即時處理叢集的需求。Karpenter 旨在提供更有效率且回應靈敏的擴展。
具有極端可變或複雜工作負載的應用程式,其中快速擴展決策至關重要,受益於使用 Karpenter。它與 整合 AWS,提供改善的部署和節點選擇最佳化。
Karpenter 包含下列主要功能:
-
動態佈建 – Karpenter 提供適合用途的執行個體和大小,並根據 Pod 的特定需求動態佈建新節點。
-
進階排程 – 使用智慧型 Pod 配置,Karpenter 會安排節點,以便盡可能有效地使用 GPU、CPU、記憶體和儲存體等資源。
-
快速擴展 – Karpenter 可以快速擴展,經常在幾秒鐘內做出反應。此回應能力對於突發流量模式或工作負載需要立即擴展時很有幫助
-
成本效益 – 透過仔細選擇最有效的執行個體,您可以降低營運成本,並利用 提供的其他節省成本替代方案 AWS,例如隨需執行個體、Spot 執行個體和預留執行個體。