關於依據指標自動調整工作負載


本頁說明如何使用自訂、外部或 Prometheus 指標,自動增減特定工作負載的副本數量。

為何要依據指標自動調度資源

假設有個應用程式會從佇列提取工作並完成。應用程式可能設有服務等級目標 (SLO),例如處理工作所需的時間,或是待處理的工作數量。如果佇列增加,工作負載的更多副本可能會符合工作負載的 SLO。如果佇列為空或減少速度超出預期,您可以減少執行的副本數量,同時仍符合工作負載的 SLO,進而節省費用。

關於自訂、Prometheus 和外部指標

您可以根據自訂、Prometheus 或外部指標調度工作負載。

從 Kubernetes 中執行的應用程式回報自訂指標。如要瞭解詳情,請參閱自訂和 Prometheus 指標

來自 Managed Service for Prometheus 的指標視為自訂指標類型。

外部指標是從未在叢集上執行的應用程式或服務回報,但其效能會影響 Kubernetes 應用程式。舉例來說,您可以根據 Cloud Monitoring 中的任何指標自動調度資源,包括 Pub/Sub 或 Dataflow。Prometheus 指標包含叢集發出的資料,可用於自動調度資源。詳情請參閱外部指標

自訂指標和 Prometheus 指標

建議您使用 Managed Service for Prometheus 建立及管理自訂指標。您可以使用 Prometheus 查詢語言 (PromQL) 查詢 Monitoring 中的所有指標。詳情請參閱「Managed Service for Prometheus 的 Pod 水平自動調度資源」。

應用程式可以向 Monitoring 回報自訂指標。您可以設定 Kubernetes,根據這些指標自動調度工作負載資源。舉例來說,您可以根據每秒查詢次數、每秒寫入次數、網路效能、與其他應用程式通訊時的延遲時間,或適合工作負載的其他指標,調整應用程式的資源配置。詳情請參閱「根據指標最佳化 Pod 自動調度」。

外部指標

如要根據 Kubernetes 外部應用程式或服務的效能調度工作負載,可以設定外部指標。舉例來說,如果未傳送的訊息數量呈現上升趨勢,您可能需要增加應用程式的容量,以便從 Pub/Sub 擷取訊息。外部應用程式必須將指標匯出至叢集可存取的 Monitoring 執行個體。各項指標的趨勢會導致水平 Pod 自動調度器自動變更工作負載中的副本數量。詳情請參閱「根據指標最佳化 Pod 自動調度」。

將指標匯入 Monitoring

如要將指標匯入 Monitoring,您可以採取下列其中一種做法:

後續步驟