首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Keda自动标号无法工作“等待标头时超出了Client.Timeout”

Keda自动标号无法工作“等待标头时超出了Client.Timeout”
EN

Stack Overflow用户
提问于 2022-09-28 11:41:21
回答 1查看 280关注 0票数 0

我想让凯达根据普罗米修斯的数据进行自动测试。但是存在“等待标头时超过了Client.Timeout”错误。我可以成功地运行示例查询:

代码语言:javascript
运行
复制
http://localhost:9090/api/v1/query?query=sum%28process_cpu_seconds_total%29&time=2022-09-28T11:15:59Z

{“状态”:“成功”,“数据”:{“resultType”:“向量”,“结果”:[{“度量”:{},“值”:1664363399,“67.67”}]}

这是我的Keda配置:

代码语言:javascript
运行
复制
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: prometheus-scaledobject
  namespace: default
spec:
  scaleTargetRef:
    name: example-deploy
  pollingInterval: 5
  cooldownPeriod: 10
  minReplicaCount: 1
  maxReplicaCount: 10

  triggers:
  - type: prometheus
    metadata:
      serverAddress: http://prometheus-main.monitoring.svc.cluster.local:9090
      metricName: process_cpu_seconds_total
      threshold: '100'
      activationThreshold: '50'
      query: sum(process_cpu_seconds_total)

但是日志中也有错误:

代码语言:javascript
运行
复制
>>> kubectl logs -n keda keda-operator-fbfcd6cd-n7q2t -c keda-operator
代码语言:javascript
运行
复制
2022-09-28T11:30:00Z    ERROR   prometheus_scaler       error executing prometheus query        {"type": "ScaledObject", "namespace": "default", "name": "prometheus-scaledobject", "error": "Get \"http://prometheus-main.monitoring.svc.cluster.local:9090/api/v1/query?query=sum%28process_cpu_seconds_total%29&time=2022-09-28T11:29:57Z\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
github.com/kedacore/keda/v2/pkg/scaling/cache.(*ScalersCache).IsScaledObjectActive
        /workspace/pkg/scaling/cache/scalers_cache.go:94
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).checkScalers
        /workspace/pkg/scaling/scale_handler.go:278
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).startScaleLoop
        /workspace/pkg/scaling/scale_handler.go:149
2022-09-28T11:30:00Z    ERROR   scalehandler    Error getting scale decision    {"scaledobject.Name": "prometheus-scaledobject", "scaledObject.Namespace": "default", "scaleTarget.Name": "example-deploy", "error": "Get \"http://prometheus-main.monitoring.svc.cluster.local:9090/api/v1/query?query=sum%28process_cpu_seconds_total%29&time=2022-09-28T11:29:57Z\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).checkScalers
        /workspace/pkg/scaling/scale_handler.go:278
github.com/kedacore/keda/v2/pkg/scaling.(*scaleHandler).startScaleLoop
        /workspace/pkg/scaling/scale_handler.go:149
代码语言:javascript
运行
复制
>>> kubectl describe hpa keda-hpa-prometheus-scaledobject
代码语言:javascript
运行
复制
Warning: autoscaling/v2beta2 HorizontalPodAutoscaler is deprecated in v1.23+, unavailable in v1.26+; use autoscaling/v2 HorizontalPodAutoscaler
Name:                                                                keda-hpa-prometheus-scaledobject
Namespace:                                                           default
Labels:                                                              app.kubernetes.io/managed-by=keda-operator
                                                                     app.kubernetes.io/name=keda-hpa-prometheus-scaledobject
                                                                     app.kubernetes.io/part-of=prometheus-scaledobject
                                                                     app.kubernetes.io/version=2.8.0
                                                                     scaledobject.keda.sh/name=prometheus-scaledobject
Annotations:                                                         <none>
CreationTimestamp:                                                   Wed, 28 Sep 2022 13:29:48 +0200
Reference:                                                           Deployment/example-deploy
Metrics:                                                             ( current / target )
  "s0-prometheus-process_cpu_seconds_total" (target average value):  <unknown> / 100
Min replicas:                                                        1
Max replicas:                                                        10
Deployment pods:                                                     1 current / 0 desired
Conditions:
  Type           Status  Reason                   Message
  ----           ------  ------                   -------
  AbleToScale    True    SucceededGetScale        the HPA controller was able to get the target's current scale
  ScalingActive  False   FailedGetExternalMetric  the HPA was unable to compute the replica count: unable to get external metric default/s0-prometheus-process_cpu_seconds_total/&LabelSelector{MatchLabels:map[string]string{scaledobject.keda.sh/name: prometheus-scaledobject,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: the server is currently unable to handle the request (get s0-prometheus-process_cpu_seconds_total.external.metrics.k8s.io)
Events:
  Type     Reason                        Age               From                       Message
  ----     ------                        ----              ----                       -------
  Warning  FailedGetExternalMetric       3s (x7 over 93s)  horizontal-pod-autoscaler  unable to get external metric default/s0-prometheus-process_cpu_seconds_total/&LabelSelector{MatchLabels:map[string]string{scaledobject.keda.sh/name: prometheus-scaledobject,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: the server is currently unable to handle the request (get s0-prometheus-process_cpu_seconds_total.external.metrics.k8s.io)
  Warning  FailedComputeMetricsReplicas  3s (x7 over 93s)  horizontal-pod-autoscaler  invalid metrics (1 invalid out of 1), first error is: failed to get s0-prometheus-process_cpu_seconds_total external metric: unable to get external metric default/s0-prometheus-process_cpu_seconds_total/&LabelSelector{MatchLabels:map[string]string{scaledobject.keda.sh/name: prometheus-scaledobject,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: the server is currently unable to handle the request (get s0-prometheus-process_cpu_seconds_total.external.metrics.k8s.io)

有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-30 11:45:30

答:我的kubernetes设置有问题,外部度量api是不可缺少的。

代码语言:javascript
运行
复制
kubectl get --raw /apis/external.metrics.k8s.io/v1beta1 | jq .

^返回的错误

minikube deleteminikube start解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73880792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档