简体   繁体   English

Kubernetes 目标 CPU 利用率策略

[英]Kubernetes target cpu utilization policy

I am unable to make the auto-scaling work with targetcpuutilization setting.我无法使用 targetcpuutilization 设置进行自动缩放。 My configuration is as follows:我的配置如下:

apiVersion: autoscaling/v2beta1
  kind: HorizontalPodAutoscaler
  metadata:
  name: pod
  namespace: pod
spec:
  minReplicas: 1
  maxReplicas: 5
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: pod
metrics:
- type: Resource
resource:
  name: cpu
  targetAverageUtilization: 10
 message: 'the HPA was unable to compute the replica count: unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)' reason: FailedGetResourceMetric

I have verified that the metrics server is running.我已验证指标服务器正在运行。 When I check hpa I am getting the following:当我检查 hpa 时,我得到以下信息:

 NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE pod-name Deployment/pod-name <unknown>/10% 1 5 1 15h

The event log for the namespace shows this:命名空间的事件日志显示:

LAST SEEN   FIRST SEEN   COUNT     NAME                      KIND                      SUBOBJECT   TYPE      REASON                         SOURCE                      MESSAGE
46m         15h          1721      pod-name.155162c884d417be   HorizontalPodAutoscaler               Warning   FailedComputeMetricsReplicas   horizontal-pod-autoscaler   failed to get cpu utilization: unable to get metrics for resource cpu: no metrics returned from resource metrics API
1m          15h          1811      pod-name.155162c884a5caa2   HorizontalPodAutoscaler               Warning   FailedGetResourceMetric        horizontal-pod-autoscaler   unable to get metrics for resource cpu: no metrics returned from resource metrics API

Looks like the pods are not able to get to the metrics server.看起来 pod 无法访问指标服务器。

Logs on the metrics server:在指标服务器上登录:

unable to fully collect metrics: [unable to fully scrape metrics from source kubelet_summary:host.com: unable to fetch metrics from Kubelet host.com (host.com): Get https://host.com:10250/stats/summary/: x509: certificate signed by unknown authority, unable to fully scrape metrics from source

  kubelet_summary:host.ibaset.com: unable to fetch metrics from Kubelet host.ibaset.com (host.ibaset.com): Get https://host.com:10250/stats/summary/: x509: certificate signed by unknown authority, unable to fully scrape metrics from source kubelet_summary:host.com: unable to fetch metrics from Kubelet host.com (host.com): Get https://host.com:10250/stats/summary/: x509: certificate signed by unknown authority]

It looks like the metrics server can't receive metrics from the Kubelet endpoint because of an invalid certificate.由于证书无效,指标服务器似乎无法从 Kubelet 端点接收指标。

Try adding following argument to the metrics-server: --kubelet-insecure-tls尝试向指标服务器添加以下参数:-- --kubelet-insecure-tls

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM