Kubernetes 1.11找不到用于指标的堆积器

Fak*_*unt 8 sysadmin metrics sys kubernetes kubectl

我在Digital Ocean上使用Kubernetes 1.11,当我尝试使用kubectl顶部节点时出现以下错误:

Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
Run Code Online (Sandbox Code Playgroud)

但正如doc中所述,从kubernetes 1.10开始,不推荐使用heapster,不再需要

Ric*_*ico 10

为了kubectl top node/pod工作,您需要在群集上安装heapster指标服务器

就像警告说的那样:不建议使用heapster,因此现在建议的选择是metrics server

因此,请按照此处的说明安装指标服务器

  • 我在 kube-system 命名空间的集群中安装了 metrics-server,但仍然出现相同的错误。如果我做 kubectl logs kubectl logs metrics-server-85dc785fbf-76qf9 我得到这个输出`E1018 12:10:51.797774 1 manager.go:102] 无法完全收集指标:[无法从源 kubelet_summary-nostalgic 完全抓取指标pare-gt8:无法从 Kubelet nostalgic-pare-gt8 (nostalgic-pare-gt8) 获取指标:获取 https://nostalgic-pare-gt8:10250/stats/summary/:拨号 tcp:查找 nostalgic-pare-gt8在 10.245.0.10:53:没有这样的主机` (2认同)

Far*_*hid 6

如果您正在运行Kubernetes的较新版本,但仍然收到此错误,则可能是您的安装存在问题。

请注意,要在kubernetes上安装指标服务器,您首先应通过输入以下内容对其进行克隆:

git clone https://github.com/kodekloudhub/kubernetes-metrics-server.git
Run Code Online (Sandbox Code Playgroud)

那么您应该仅通过以下方式安装它,而无需进入创建的文件夹并且不提及特定的YAML文件

kubectl create -f kubernetes-metrics-server/
Run Code Online (Sandbox Code Playgroud)

这样,所有服务和组件均已正确安装,您可以运行:

kubectl top nodes
Run Code Online (Sandbox Code Playgroud)

要么

kubectl top pods
Run Code Online (Sandbox Code Playgroud)

并获得正确的结果。