如何使用 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 适配器 进行自定义 metrics.And,我在 prometheus 中找不到名称为 response_time 的任何指标。
prometheus 中是否有任何可根据响应时间缩放应用程序的指标及其名称?
我是否需要编辑默认的水平自动缩放算法,或者我必须从头开始制作一个自动缩放算法,该算法可以根据响应时间缩放我的应用程序?
Prometheus 只有 4 个 metric types: Counter, Gauge, Histogram和 摘要.
我想 直方图 就是你需要的
A histogram samples observations (usually things like request durations or response sizes) and counts them in configurable buckets. It also provides a sum of all observed values.
A histogram with a base metric name of <basename>
exposes multiple time series during a scrape:
- cumulative counters for the observation buckets, exposed as
<basename>_bucket{le="<upper inclusive bound>"}
- the total sum of all observed values, exposed as
<basename>_sum
- the count of events that have been observed, exposed as
<basename>_count
(identical to <basename>_bucket{le="+Inf"}
above)
1.
有一个 ,您可以在其中查询延迟(响应时间),因此我认为这可能对您有用。
2.
不知道我理解的对不对,如果你想编辑HPA,你可以编辑yaml文件,删除之前的HPA,创建新的。
kubectl delete hpa <name.yaml>
kubectl apply -f <name.yaml>
good article about Autoscaling on custom metrics 具有自定义 Prometheus 指标。
大家好,
我有一个基于 kubeadm 的集群,有 1 个 master 和 2 个 worker。我已经实现了内置的 horizontalPodAutoscaling(基于 cpu_utilization 和内存),现在我想根据自定义指标执行自动缩放( 响应时间 在我的例子中)。
我正在使用 Prometheus 适配器 进行自定义 metrics.And,我在 prometheus 中找不到名称为 response_time 的任何指标。
prometheus 中是否有任何可根据响应时间缩放应用程序的指标及其名称?
我是否需要编辑默认的水平自动缩放算法,或者我必须从头开始制作一个自动缩放算法,该算法可以根据响应时间缩放我的应用程序?
Prometheus 只有 4 个 metric types: Counter, Gauge, Histogram和 摘要.
我想 直方图 就是你需要的
A histogram samples observations (usually things like request durations or response sizes) and counts them in configurable buckets. It also provides a sum of all observed values.
A histogram with a base metric name of
<basename>
exposes multiple time series during a scrape:
- cumulative counters for the observation buckets, exposed as
<basename>_bucket{le="<upper inclusive bound>"}
- the total sum of all observed values, exposed as
<basename>_sum
- the count of events that have been observed, exposed as
<basename>_count
(identical to<basename>_bucket{le="+Inf"}
above)
1.
有一个
2.
不知道我理解的对不对,如果你想编辑HPA,你可以编辑yaml文件,删除之前的HPA,创建新的。
kubectl delete hpa <name.yaml>
kubectl apply -f <name.yaml>
good article about Autoscaling on custom metrics 具有自定义 Prometheus 指标。