【发布时间】:2020-09-27 10:51:48
【问题描述】:
我目前正在尝试使用 prometheus 和 prometheus 适配器运行自动缩放演示,我想知道是否有一种方法可以根据 prometheus 从另一个部署中抓取的指标自动缩放我的一个部署。
我现在拥有的是 2 个不同的部署,kafka-consumer-application(我想要扩展)和 kafka-exporter(它公开了我将用于扩展的 kafka 指标)。我知道,如果我将它们都作为容器在同一个部署中,则自动缩放可以工作,但问题是 kafka-exporter 也会自动缩放并且它并不理想,所以我想将它们分开。我尝试使用以下 HPA,但无法正常工作:
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
name: consumer-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: kafka-consumer-application
minReplicas: 1
maxReplicas: 10
metrics:
- type: object
object:
target: kafka-exporter
metricName: "kafka_consumergroup_lag"
targetValue: 5
我不确定我是否做错了什么或者这不是我能做的事情,所以任何建议都值得赞赏。
谢谢!
注意:我使用此配置运行适配器:
rules:
default: false
resource: {}
custom:
- seriesQuery: 'kafka_consumergroup_lag'
resources:
overrides:
kubernetes_namespace: {resource: "namespace"}
kubernetes_pod_name: {resource: "pod"}
name:
matches: "kafka_consumergroup_lag"
as: "kafka_consumergroup_lag"
metricsQuery: 'avg_over_time(kafka_consumergroup_lag{topic="my-topic",consumergroup="we-consume"}[1m])'
``
【问题讨论】:
标签: kubernetes prometheus autoscaling