自動調度資源

Kf 會運用 Kubernetes 水平 Pod 自動配置器 (HPA),自動調整應用程式中的 Pod 數量。為應用程式啟用自動調度功能時,系統會建立 HPA 物件並繫結至應用程式物件。接著,系統會動態計算目標比例,並為應用程式設定該比例。

Kf 縮放的運作方式

為 Kf 應用程式部署的 Pod 數量,由其基礎部署物件的 replica 欄位控制。部署備用資源的目標數量可透過應用程式的 replicas 欄位設定。

您可以使用 kf scale 指令手動調整資源調度。啟用自動調度資源功能時,系統會停用這項指令,以免發生目標衝突。

Kubernetes 水平 Pod 自動配置器的運作方式

水平 Pod 自動調度器 (HPA) 是以 Kubernetes API 資源 (HPA 物件) 和控制迴圈 (HPA 控制器) 實作,可定期根據目前的資源使用率計算所需的備用資源數量。然後,HPA 控制器會將該數字傳遞至實作 Scale 子資源的目標物件。實際的縮放作業會委派給基礎物件和控制器。詳情請參閱 Kubernetes 說明文件

自動配置器如何決定調度時機

HPA 控制器會定期根據每個 HorizontalPodAutoscaler 定義中指定的指標,查詢資源使用率。控制器會從每個 Pod 的資源指標 API 取得指標。接著,控制器會計算使用率值,以等同資源要求的百分比表示。系統會根據目前百分比和所需百分比的比例,計算所需的備用資源數量。如要進一步瞭解 自動調度資源演算法,請參閱 Kubernetes 說明文件。

指標

Kf 使用 HPA v1,僅支援 CPU 做為目標指標。

Kubernetes 水平自動配置器與 Kf 的運作方式

為 Kf 應用程式啟用自動調度資源後,Kf 控制器會根據應用程式上指定的調度限制和規則建立 HPA 物件。接著,HPA 控制器會從 HPA 物件擷取規格,並據此調整應用程式。

如果停用自動調度資源,或刪除對應的應用程式,系統就會刪除 HPA 物件。