Как использовать пользовательскую метрику с определенным фильтром в горизонтальном автоматическом масштабировании - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь настроить HPA для Ingress Controller на основе пользовательской метрики nginx_ingress_controller_nginx_process_connections_total .

Но при получении метрик из 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"}

Как использовать указанную метрику из этих различных значений.Мой файл yaml для HPA приведен ниже.

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

1 Ответ

0 голосов
/ 12 апреля 2019

Вы можете использовать собственные метрики HPA.Вам нужно предоставить конечную точку в POD для получения метрик, а также настроить Prometheus и пользовательский сервер метрик API.

...