最近在K8S上部署监控工具Heapster和Metrics遇到一些问题。pod启动之后显示:

[root@MASTER ~]# kubectl top node
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

通常这种情况都是网络原因导致的问题。当我们使用二进制部署K8S时,如果master节点不部署网络插件的话,监控工具由于使用了Targetpoort的形式使用POD ip 与MASTER进行通信。因此如果MASTER没有部署网络插件,便没有路由回应POD。因此导致此问题发生。

部署了Flanneld之后,还需注意iptables是否放行了相关的路由通信。这里有个坑,我每次重启机器后iptables都会重启一遍导致有些规则显示DROP,如图所示:

k8s基础学习--metrics和hespster监控部署 随笔 第1张

这里一定要保证所有的路由都能通信,

iptables -A FORWARD -j ACCEPT 或者iptables -F。

之后metrics或者heapster会到收集阶段:

k8s基础学习--metrics和hespster监控部署 随笔 第2张

部署成功。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄