kubernetes/ingress-nginx

[AutoScaling] Kubernetes Ingress Object Metrics with Community NGINX Ingress Controller

オープン

#7,283 opened on 2021/06/25

 (22 件のコメント) (7 件のリアクション) (0 人の担当者)Go (7,888 件のフォーク)batch import
help wantedkind/featurelifecycle/staleneeds-triagepriority/important-longterm

Repository metrics

Stars
 (15,199 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

What would you like to be added:

A custom metrics API implementation for capturing the request count per unit time of a Kubernetes Ingress resource object, when using the community NGINX Ingress Controller in order to be used as a metric for Horizontal Pod Autoscaling (HPA).

The ultimate goal is to be able to add a request per unit time metric to Horizontal Pod Autoscaler as described in the walk through, when using the community NGINX Ingress Controller implementation.

type: Object
object:
  metric:
    name: requests-per-second
  describedObject:
    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    name: main-route
  target:
    type: Value
    value: 2k

An example similar to the suggested solution can be found at Skipper collector with the kube-metrics-adapter. This particular solution works when using the skipper Ingress Controller implementation.

Why is this needed:

  • The accuracy of request per unit time, as a metric for HPA is considered to be very high. Especially, when working with container based deployments of language runtimes involving garbage collection. Please see this #sig-autoscaling Slack channel discussion for a details about this topic.

  • Community NGINX Ingress Controller being one of the most widely used implementations.

Notes:

Suggested Assignees:

@rikatz @strongjz

コントリビューターガイド