kubectl 获取 hpa 目标:未知

use*_*993 9 kubernetes kubectl

我已经安装了 kubeadm。Heapster 向我展示指标,但 hpa 没有

kubectl 获取 hpa

NAME      REFERENCE          TARGETS          MINPODS   MAXPODS   REPLICAS   AGE

httpd     Deployment/httpd   <unknown> / 2%   2         5         2          19m
Run Code Online (Sandbox Code Playgroud)

kubeadm 版本

kubeadm version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.6", GitCommit:"7fa1c1756d8bc963f1a389f4a6937dc71f08ada2", GitTreeState:"clean", BuildDate:"2017-06-16T18:21:54Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

码头工人版本

客户:

Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 22:00:43 2016
 OS/Arch:      linux/amd64
Run Code Online (Sandbox Code Playgroud)

Pau*_*ina 9

您可能必须启用度量服务器。Heapster 现在已被弃用。还要确保您的 Kubernetes 版本大于 1.7。你可以检查这个买打字kubectl get nodes

您可以通过查看 minikube 插件来启用指标服务器。

minikube addons list 为您提供插件列表。

minikube addons enable metrics-server 启用指标服务器。

等待几分钟,然后如果您键入kubectl get hpa百分比,TARGETS <unknown>则应出现。


use*_*993 7

我找到了解决方案:

kubectl describe hpa
Run Code Online (Sandbox Code Playgroud)

未能获得 cpu 利用率:在 pod default/httpd-796666570-2h1c6 中的容器 httpd 上缺少对 cpu 的请求

更改部署的yaml并添加:

resources:
  requests:
    cpu:400m
Run Code Online (Sandbox Code Playgroud)

然后 kubectl describe hpa

无法获得 cpu 利用率:无法获得资源 cpu 的指标:没有从 heapster 返回的指标

等待几分钟,一切正常。