[英]Kubernetes autoscaling : HPA not working with custom metrics for Java Netty API
我正在根据自定义指标设置 HPA - 基本上没有。 部署的线程数。
我创建了一个 PrometheusRule 来获取线程的平均值(基于 5 分钟)。 在容器上,我在做cont。 增加线程的负载,平均值也越来越高。
我从 2 个副本开始,当当前值超过目标值时,我没有看到我的部署向外扩展。
如您所见,已将目标设置为 44,当前值为 51.55 超过 10 分钟,但仍然没有放大。
版本信息
普罗米修斯规则
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: rdp-rest
namespace: default
labels:
app.kubernetes.io/name: node-exporter
app.kubernetes.io/version: 1.0.1
prometheus: k8s
role: alert-rules
run: rdp-rest
app: rdp-rest
spec:
groups:
- name: hpa-rdp-rest
interval: 10s
rules:
- expr: 'avg_over_time(container_threads{container="rdp-rest"}[5m])'
record: hpa_custom_metrics_container_threads_rdp_rest
labels:
service: rdp-rest
清单- https://github.com/prometheus-operator/kube-prometheus/tree/release-0.7/manifests
更新(7 月 6 日) -具有自定义指标的 HPA 适用于任何其他技术,如 nodejs/ngnix 等,但不适用于 netty api
有什么想法吗?
终于在一周后,找到了根本原因。
所以问题出在标签上。 我有 2 个具有相同标签的部署。 因此,内部 hpa 正在做的是获取具有该标签的所有 pod 的统计信息,然后进行放大/缩小。 一旦我更正了标签,hpa 就会按预期工作。
但同样在 prometheus UI 上仅显示一种类型的 pod 的统计信息。 看起来像一些内部错误或什么的。 当我们提供名称为什么它会根据标签获取统计信息时没有得到。
要记住的一点:始终仔细检查您的标签。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.