kubectl得到hpa目标:未知

时间:2017-06-24 11:52:54

标签: kubernetes kubectl

我安装了kubeadm。 Heapster向我显示指标,但是没有

kubectl get hpa

NAME      REFERENCE          TARGETS          MINPODS   MAXPODS   REPLICAS   AGE

httpd     Deployment/httpd   <unknown> / 2%   2         5         2          19m

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"}

泊坞广告版

客户端:

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

4 个答案:

答案 0 :(得分:2)

我找到了解决方案:

kubectl describe hpa
  

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

更改部署的yaml并添加:

resources:
  requests:
    cpu:400m

然后kubectl describe hpa

  

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

等几分钟,一切正常。

答案 1 :(得分:1)

您可能不得不启用度量服务器。 Heapster现在已弃用。此外,请确保您拥有的Kubernetes版本大于1.7。您可以输入kubectl get nodes来检查此购买。

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

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

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

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

答案 2 :(得分:0)

在kubernetes中,它可以说hpa未知。在这种情况下,你应该检查几个地方。

  1. 在K8s中,1.9使用自定义指标。所以为了使用你的k8s集群
  2. 使用heapster你应该检查kube-controller-manager。 添加这些参数。

    • - 水平-POD-自动配置器使用静止的客户端=假
    • - 水平-POD-自动配置器同步周期= 10S

    基于https://github.com/kubernetes/kubernetes/issues/57673

    1. 你应该改变你的heapster部署。
    2. 我发现此链接非常有用https://blog.inkubate.io/deploy-kubernetes-1-9-from-scratch-on-vmware-vsphere/

答案 3 :(得分:0)

您必须启用可以使用舵图完成的指标服务器

helm chart是添加指标服务器的简单方法

helm install stable/metrics-server

pod开始运行后等待3-4分钟,然后打开kubectl get hpa,可以检查目标位置是否显示值。