叢集自動擴展
Kubernetes 需要叢集中的節點來執行Pod。這表示要為工作負載 Pod 和 Kubernetes 本身提供容量。
您可以自動調整叢集中可用的資源量:節點自動擴展。您可以變更節點數量,或變更節點提供的容量。第一種方法稱為水平擴展,而第二種方法稱為垂直擴展。
Kubernetes 甚至可以為節點提供多維度的自動擴展。
手動節點管理
您可以手動管理節點層級的容量,在其中配置固定數量的節點;即使這些節點的佈建(設定、管理與停用程序)是自動化的,您也可以使用此方法。
本頁是有關採取下一步,並自動化管理叢集中可用的節點容量量(CPU、記憶體與其他節點資源)。
自動水平擴展
叢集自動擴展器
您可以使用叢集自動擴展器自動管理節點的規模。叢集自動擴展器可以與雲端供應商整合,或與 Kubernetes 的叢集 API整合,以實現實際所需的節點管理。
當有無法排程的 Pod 時,叢集自動擴展器會新增節點,並在節點為空時移除節點。
雲端供應商整合
叢集自動擴展器的 README 列出了一些可用的雲端供應商整合。
成本感知多維度擴展
Karpenter
Karpenter 透過與特定雲端供應商整合的外掛程式,支援直接節點管理,並且可以在為您管理節點的同時,針對整體成本進行最佳化。
Karpenter 會自動啟動適當的運算資源來處理叢集的應用程式。它旨在讓您充分利用雲端,為 Kubernetes 叢集提供快速且簡單的運算佈建。
Karpenter 工具旨在與提供 API 驅動伺服器管理的雲端供應商整合,並且可用伺服器的價格資訊也可以透過 Web API 取得。
例如,如果您在叢集中啟動更多 Pod,Karpenter 工具可能會購買一個比您已使用的節點更大的新節點,然後在新節點投入使用後關閉現有的節點。
雲端供應商整合
Karpenter 核心與以下雲端供應商之間有可用的整合
相關元件
Descheduler
descheduler 可以協助您將 Pod 合併到較少數量的節點上,以協助在叢集具有備用容量時自動縮減規模。
根據叢集大小調整工作負載大小
叢集比例自動擴展器
對於需要根據叢集大小進行擴展的工作負載(例如 cluster-dns
或其他系統元件),您可以使用叢集比例自動擴展器。
叢集比例自動擴展器會監看可排程節點與核心的數量,並據此擴展目標工作負載的副本數量。
叢集比例垂直自動擴展器
如果副本數量應保持不變,您可以使用叢集比例垂直自動擴展器根據叢集大小垂直擴展工作負載。此專案處於 beta 階段,可以在 GitHub 上找到。
雖然叢集比例自動調整器會調整工作負載副本的數量,但叢集比例垂直自動調整器會根據叢集中節點和/或核心的數量來調整工作負載(例如 Deployment 或 DaemonSet)的資源請求。
接下來
- 閱讀關於工作負載層級自動調整的內容
- 閱讀關於節點過度配置的內容
此頁面上的項目參考了提供 Kubernetes 所需功能的第三方產品或專案。Kubernetes 專案作者不對這些第三方產品或專案負責。詳情請參閱 CNCF 網站指南。
在提議新增額外的第三方連結的變更之前,您應該先閱讀內容指南。