微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kubernetes指标服务器不提供所有指标或扩展HPA

如何解决Kubernetes指标服务器不提供所有指标或扩展HPA

按照此处的示例https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects,我创建了已安装的metrics-server并对其进行了如下修改

    spec:
      containers:
      - command:
        - metrics-server
        - --secure-port=8443
        - --kubelet-insecure-tls=true
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        image: docker.io/bitnami/metrics-server:0.3.7-debian-10-r89
        imagePullPolicy: IfNotPresent
        name: metrics-server
        ports:
        - containerPort: 8443
          name: https
          protocol: TCP
        resources: {}

查询时列出了我的节点:

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"
{"kind":"NodeMetricslist","apiVersion":"metrics.k8s.io/v1beta1","Metadata":{"selfLink":"/apis/metrics.k8s.io/v1beta1/nodes"},"items":[{"Metadata":{"name":"eo-test-metrics-35lks","selfLink":"/apis/metrics.k8s.io/v1beta1/nodes/eo-test-metrics-35lks","creationTimestamp":"2020-11-04T04:05:58Z"},"timestamp":"2020-11-04T04:05:28Z","window":"30s","usage":{"cpu":"770120208n","memory":"934476Ki"}},{"Metadata":{"name":"eo-test-metrics-35lkp","selfLink":"/apis/metrics.k8s.io/v1beta1/nodes/eo-test-metrics-35lkp","timestamp":"2020-11-04T04:05:25Z","usage":{"cpu":"483763591n","memory":"850756Ki"}}]}

但是,HPA目标仍然是“未知”:

kubectl get hpa
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
PHP-apache Deployment/PHP-apache <unkNown>/50% 1 10 1 31m

运行顶部节点有效,但顶部吊舱无效

kubectl top nodes
NAME                    cpu(cores)   cpu%   MEMORY(bytes)   MEMORY%
eo-test-metrics-35lkp   93m          4%     934Mi           30%
eo-test-metrics-35lks   166m         8%     1053Mi          33%

顶部豆荚返回错误error: Metrics not available

 kubectl top pods
W1104 11:19:27.854485   62798 top_pod.go:266] Metrics not available for pod default/PHP-apache-d4cf67d68-blt2c,age: 13h1m51.854463s
error: Metrics not available for pod default/PHP-apache-d4cf67d68-blt2c,age: 13h1m51.854463s

这是在Kubernetes服务器版本v1.19.3和指标服务器版本0.3.6

metrics-server的日志

E1104 21:21:56.496129       1 reststorage.go:160] unable to fetch pod metrics for pod default/PHP-apache-d4cf67d68-blt2c: no metrics kNown for pod
E1104 21:22:10.945091       1 reststorage.go:160] unable to fetch pod metrics for pod default/PHP-apache-d4cf67d68-blt2c: no metrics kNown for pod
E1104 21:22:26.496814       1 reststorage.go:160] unable to fetch pod metrics for pod default/PHP-apache-d4cf67d68-blt2c: no metrics kNown for pod

解决方法

当在Kubernetes版本1.19上使用Docker 19.03时,此上游问题已解决:https://github.com/kubernetes/kubernetes/issues/94281

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。