当前位置: 首页 > 知识库问答 >
问题:

带有Prometheus节点导出器度量的Kubernetes HPA

孙泉
2023-03-14

我有一个kubernetes V1.12.1集群运行我的一些工作负载。我想设置HPA,这样我就可以根据来自普罗米修斯节点导出器的度量标准来衡量一个特定的吊舱。

<pre>
ᐅ kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1|jq .|grep -i udp
  "name": "jobs.batch/node_netstat_Udp_InErrors",
  "name": "roles.rbac.authorization.k8s.io/node_netstat_Udp6_NoPorts",
  "name": 
"roles.rbac.authorization.k8s.io/node_netstat_UdpLite6_InErrors",
  "name": "jobs.batch/node_netstat_Udp_InDatagrams",
  "name": "jobs.batch/node_sockstat_UDP_mem_bytes",
  "name": "jobs.batch/node_sockstat_UDP_inuse",
  "name": 
"roles.rbac.authorization.k8s.io/node_netstat_Udp_InDatagrams",
  "name": "jobs.batch/node_sockstat_UDP_mem",
  "name": "jobs.batch/node_netstat_Udp_NoPorts",
  "name": "roles.rbac.authorization.k8s.io/node_sockstat_UDP_mem",
  "name": "roles.rbac.authorization.k8s.io/node_netstat_Udp_NoPorts",
  "name": "jobs.batch/node_netstat_Udp6_OutDatagrams",
  "name": "jobs.batch/node_netstat_Udp6_NoPorts",
  "name": "jobs.batch/node_netstat_UdpLite6_InErrors",
  "name": "roles.rbac.authorization.k8s.io/node_netstat_Udp6_InErrors",
  "name": 
"roles.rbac.authorization.k8s.io/node_netstat_Udp6_InDatagrams",
  "name": 
"roles.rbac.authorization.k8s.io/node_netstat_Udp6_OutDatagrams",
  "name": "roles.rbac.authorization.k8s.io/node_sockstat_UDP_inuse",
  "name": 
"roles.rbac.authorization.k8s.io/node_sockstat_UDP_mem_bytes",
  "name": "jobs.batch/node_netstat_Udp6_InDatagrams",
  "name": "jobs.batch/node_netstat_Udp_OutDatagrams",
  "name": 
"roles.rbac.authorization.k8s.io/node_netstat_UdpLite_InErrors",
  "name": "jobs.batch/node_netstat_UdpLite_InErrors",
  "name": 
"roles.rbac.authorization.k8s.io/node_sockstat_UDPLITE_inuse",
  "name": "jobs.batch/node_netstat_Udp6_InErrors",
  "name": 
"roles.rbac.authorization.k8s.io/node_netstat_Udp_OutDatagrams",
  "name": "jobs.batch/node_sockstat_UDPLITE_inuse",
  "name": "roles.rbac.authorization.k8s.io/node_netstat_Udp_InErrors"
</pre>
   apiVersion: autoscaling/v2beta2                                                                                                   
   kind: HorizontalPodAutoscaler                                                                                                     
   metadata:                                                                                                                         
     name: atl                                                                                                                       
     namespace: blackhole                                                                                                             
   spec:                                                                                                                             
     scaleTargetRef:                                                                                                                 
       apiVersion: apps/v1                                                                                                           
       kind: Deployment                                                                                                              
       name: awesome-app                                                                                                                   
     minReplicas: 1                                                                                                                  
     maxReplicas: 10                                                                                                                 
     metrics:                                                                                                                        
     - type: Resource                                                                                                                
       resource:  ????????                                                                                                                   
         name:  ???????????                                                                                                           
         target:  ???????????

共有1个答案

师俊健
2023-03-14

文档有点粗略,但我相信您会使用以下内容:

apiVersion: autoscaling/v2beta2                                                                                                   
kind: HorizontalPodAutoscaler                                                                                                     
metadata:                                                                                                                         
  name: atl                                                                                                                       
  namespace: blackhole                                                                                                             
spec:                                                                                                                             
  scaleTargetRef:                                                                                                                 
    apiVersion: apps/v1                                                                                                           
    kind: Deployment                                                                                                              
    name: awesome-app                                                                                                                   
  minReplicas: 1                                                                                                                  
  maxReplicas: 10                                                                                                                 
  metrics:
  - type: Object
    object:
      metric:
        name: node_sockstat_UDP_inuse
      describedObject:
        apiVersion: extensions/v1beta1
         kind: Job
        name: your-job-name
      target:
        kind: Value
        value: 20                                                                                                                     

根据docstype:resource默认情况下仅限于cpu和内存指标。

 类似资料:
  • 我是新来的普罗米修斯/警报经理。 我创建了一个cron作业,它每分钟执行一次shell脚本。此shell脚本在分配给参数(到节点导出器)。我验证了(使用curl)http://localhost:9100/metrics)节点导出器是否正确公开该自定义度量。 当我试图在prometheus仪表板中针对该自定义指标运行查询时,它不会显示任何结果(它表示未找到数据)。 我无法理解为什么通过node e

  • 我已经设置了普罗米修斯,通过跟踪普罗米修斯留档来监控库本内斯的指标。 普罗米修斯现在有很多有用的指标。 但是,我看不到任何引用我的pod或节点状态的指标。 理想情况下-我希望能够绘制pod状态(运行,挂起,CrashLoopBackoff,错误)和节点(NodeNow,就绪)。 这个度量单位在哪里?如果没有,我可以添加到某个地方吗?怎么做?

  • 我在k8s上部署了普罗米修斯节点导出吊舱。它工作得很好。 但是当我试图通过调用自定义Go应用程序中的节点导出器度量API来获取系统度量时 结果格式如下 那些长文本很难解析,我希望得到JSON格式的结果来轻松解析它们。 https://github.com/prometheus/node_exporter/issues/1062 我检查了Prometheus节点导出器GitHub的问题,有人推荐了p

  • 我已经激活了Spring执行器普罗米修斯endpont<代码>/执行器/普罗米修斯。通过增加对千分尺和执行器的依赖,并启用prometheus Endpont。我如何获得自定义度量?

  • 我有一个简单的Maven Spring-Boot应用程序(Java),并使用Prometheus从其中收集度量信息。我在pom文件中有所有必要的Prometheus依赖项,并且我在@SpringBootApplication类中包含了@EnablePrometheusEndpoint注释,但是当我运行应用程序并尝试访问localhost:8080/Prometheus(我认为这是Prometheu