如何在水平Pod自动缩放中将自定义指标与特定过滤器一起使用

时间:2019-01-29 05:55:15

标签: kubernetes autoscaling nginx-ingress

我正在尝试基于自定义指标 nginx_ingress_controller_nginx_process_connections_total 设置Ingress Controller的HPA。

但是,当从localhost:10254 / metrics获取指标时,我可以通过过滤器看到三个这样的指标:

call_user_func_array(array($block, $method)

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

# 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 yaml文件如下。

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

1 个答案:

答案 0 :(得分:0)

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