如何在Horizo ntal Pod Autoscaling中使用具有特定过滤器的自定义度量标准

问题描述 投票:0回答:1

我正在尝试根据自定义指标nginx_ingress_controller_nginx_process_connections_total为Ingress Controller设置HPA。

但是从localhost:10254 / metrics中获取指标时,我可以看到三个带过滤器的指标,如下所示:

# HELP nginx_ingress_controller_nginx_process_connections_total total number of connections with state {active, accepted, handled}
# TYPE nginx_ingress_controller_nginx_process_connections_total counter
nginx_ingress_controller_nginx_process_connections_total{controller_class="nginx",controller_namespace="ingress-nginx",controller_pod="nginx-ingress-controller-7dddd-mssssf",state="accepted"} 479707
nginx_ingress_controller_nginx_process_connections_total{controller_class="nginx",controller_namespace="ingress-nginx",controller_pod="nginx-ingress-controller-7dddd-mssssf",state="active"} 3
nginx_ingress_controller_nginx_process_connections_total{controller_class="nginx",controller_namespace="ingress-nginx",controller_pod="nginx-ingress-controller-7dddd-mssssf",state="handled"} 479707

在这些指标中,我想对HPA使用以下指标。

nginx_ingress_controller_nginx_process_connections_total{controller_class="nginx",controller_namespace="ingress-nginx",controller_pod="nginx-ingress-controller-7dddd-mssssf",state="active"}

如何使用这些不同值中的指定指标。我的HPA yaml文件如下。

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
  name: ingress-hpa
spec:
  scaleTargetRef:
    kind: Deployment
    name: nginx-ingress-controller
  minReplicas: 3
  maxReplicas: 10
  metrics:
  - type: Pods
    pods:
      metricName: <I need to set the custom metric here>
      targetAverageValue: 10000
kubernetes autoscaling nginx-ingress
1个回答
0
投票

您可以使用HPA自定义指标。您需要在POD中公开端点以获取指标,同时设置Prometheus和自定义指标api服务器。

© www.soinside.com 2019 - 2024. All rights reserved.