1

我已设法安装 Prometheus 及其适配器,我想使用其中一个 pod 指标进行自动缩放

 kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1" | jq . |grep "pods/http_request".
      "name": "pods/http_request_duration_milliseconds_sum",
      "name": "pods/http_request",
      "name": "pods/http_request_duration_milliseconds",
      "name": "pods/http_request_duration_milliseconds_count",
      "name": "pods/http_request_in_flight",

检查我要使用的 apipods/http_request并将其添加到我的 HPA 配置中

---
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: app
  namespace: app
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: app
  minReplicas: 4
  maxReplicas: 8
  metrics:
 
  - type: Pods
    pods:
      metric:
        name: http_request
      target:
        type: AverageValue
        averageValue: 200

应用 yaml 并检查 hpa 状态后,它显示为<unkown>

$ k apply -f app-hpa.yaml
$ k get hpa
NAME                   REFERENCE                         TARGETS                                       
app           Deployment/app           306214400/2000Mi, <unknown>/200 + 1 more...   

但是当使用其他 pod 指标时,例如pods/memory_usage_bytes正确检测到值

有没有办法检查这个指标的正确值?以及如何为我的 hpa 配置正确添加它

参考https://www.ibm.com/support/knowledgecenter/SSBS6K_3.2.0/manage_cluster/hpa.html

4

0 回答 0