我已经在 kubernetes v1.11.2 上安装了 metrics-server。
我正在运行一个使用 3 个节点和 1 个主节点的裸机集群
在指标服务器日志中,我有以下错误:
E0907 14:29:51.774592 1 manager.go:102] unable to fully collect metrics: [unable to fully scrape metrics from source kubelet_summary:vps01: unable to
fetch metrics from Kubelet vps01 (vps01): Get https://vps01:10250/stats/summary/: dial tcp: lookup vps01 on 10.96.0.10:53: no such host, unable to fully scr
ape metrics from source kubelet_summary:vps04: unable to fetch metrics from Kubelet vps04 (vps04): Get https://vps04:10250/stats/summary/: dial tcp: lookup
vps04 on 10.96.0.10:53: no such host, unable to fully scrape metrics from source kubelet_summary:vps03: unable to fetch metrics from Kubelet vps03 (vps03):
Get https://vps03:10250/stats/summary/: dial tcp: lookup vps03 on 10.96.0.10:53: no such host, unable to fully scrape metrics from source kubelet_summary:vp
s02: unable to fetch metrics from Kubelet vps02 (vps02): Get https://vps02:10250/stats/summary/: dial tcp: lookup vps02 on 10.96.0.10:53: no such host]
E0907 14:30:01.694794 1 reststorage.go:98] unable to fetch pod metrics for pod boxweb/boxweb-deployment-7756c49688-fz625: no metrics known for pod "bo
xweb/boxweb-deployment-7756c49688-fz625"
E0907 14:30:10.517886 1 reststorage.go:112] unable to fetch node metrics for node "vps01": no metrics known for node "vps01"
我也无法使用 Kubectl Top Node VPS01
自动缩放也是如此,它不起作用
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)
我找到了以下解决方案:
更改metrics-server-deployment.yaml
文件并添加:
command:
- /metrics-server
- --kubelet-preferred-address-types=InternalIP
- --kubelet-insecure-tls
看起来您的metrics-server
pod 存在 DNS 问题。您可以连接到容器:
kubectl exec -it metrics-server-xxxxxxxxxx-xxxxx -n kube-system sh
/ # ping vps01
如果无法 ping 操作,则无法解析节点。
core-dns 或 kube-DNS 也在您的节点上使用每个节点上的/etc/resolv.conf
,所以我会检查您是否可以在彼此之间解析节点。比如说,你能从vps02
或vps03
等中pingvps01
吗?
我遇到了同样的问题,我通过在每个节点上/etc/hosts
中添加主机名来解决。
为了收集指标数据(CPU/内存使用情况(,指标服务器尝试访问节点。但是,公制服务器无法解析主机名(vps01
、vps02
、vps03
和vps04
(,因为这些主机名未在 DNS 中注册。如前所述,您无法在 DNS 中注册主机名。
因此,您必须将主机名添加到运行指标服务器 POD 的节点上的/etc/hosts
。
自动缩放程序不起作用,因为指标服务器不工作,并且没有指标数据。