簡體   English   中英

如何使用 Prometheus 適配器根據響應時間(自定義指標)在 Kubernetes 中執行 HorizontalPodAutoscaling?

[英]how to perform HorizontalPodAutoscaling in Kubernetes based on response time (custom metric) using Prometheus adapter?

大家好,

我有一個基於kubeadm的集群,有 1 個 master 和 2 個 worker。 我已經實現了內置的 HorizontalPodAutoscaling(基於 cpu_utilization 和內存),現在我想根據自定義指標(在我的例子中是響應時間)執行自動縮放。

我正在使用Prometheus 適配器進行自定義指標。而且,我在普羅米修斯中找不到任何名為 response_time 的指標。

  1. prometheus 中是否有任何指標可以根據響應時間擴展應用程序,它的名稱是什么?

  2. 我是否需要編輯默認的水平自動縮放算法,或者我必須從頭開始制定一個可以根據響應時間縮放我的應用程序的算法?

Prometheus 只有 4種度量類型CounterGaugeHistogramSummary

我猜直方圖就是你需要的

直方圖對觀察結果進行采樣(通常是請求持續時間或響應大小等),並將它們計入可配置的存儲桶中。 它還提供所有觀察值的總和。

基本指標名稱為<basename>的直方圖在一次抓取期間公開了多個時間序列:

  • 觀察桶的累積計數器,顯示為<basename>_bucket{le="<upper inclusive bound>"}
  • 所有觀察值的總和,顯示為<basename>_sum
  • 已觀察到的事件計數,顯示為<basename>_count (與上面的<basename>_bucket{le="+Inf"}相同)

1.

有一個stackoverflow question ,您可以在其中查詢延遲(響應時間),所以我認為這可能對您有用。

2.

我不知道我是否理解正確,但如果你想編輯HPA ,你可以編輯 yaml 文件,刪除以前的 HPA 並創建新的。

kubectl delete hpa <name.yaml>
kubectl apply -f <name.yaml>

一篇關於Autoscaling on custom metrics with custom Prometheus Metrics 的好文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM