从KubeSphere v3.1.0边缘节点的监控问题排查,简要解析边缘监控原理
- 已编辑
zhu733756 版本号看错了,我重新测一下,我看截图去了
———-
更新新进展: 确实跟大佬发现的问题一样,跟内核版本和操作系统没关系,我测试centos和ubuntu两个操作系统下的docker版本都是 边缘节点所在的pod metrics为空:
curl -ki localhost:10350/stats/summary
{
"node": {
"nodeName": "edgenode-wnlb",
"systemContainers": [
{
"name": "pods",
"startTime": "2021-05-19T02:51:55Z",
"cpu": {
"time": "2021-05-19T02:58:41Z",
"usageNanoCores": 0,
"usageCoreNanoSeconds": 81040512
},
"memory": {
"time": "2021-05-19T02:58:41Z",
"availableBytes": 1033695232,
"usageBytes": 6631424,
"workingSetBytes": 6430720,
"rssBytes": 1507328,
"pageFaults": 0,
"majorPageFaults": 0
}
},
{
"name": "kubelet",
"startTime": "2021-05-19T02:51:55Z",
"cpu": {
"time": "2021-05-19T02:58:39Z",
"usageNanoCores": 7826966,
"usageCoreNanoSeconds": 4676221589
},
"memory": {
"time": "2021-05-19T02:58:39Z",
"usageBytes": 40861696,
"workingSetBytes": 39350272,
"rssBytes": 37896192,
"pageFaults": 33726,
"majorPageFaults": 17
}
},
{
"name": "runtime",
"startTime": "2021-05-19T02:51:55Z",
"cpu": {
"time": "2021-05-19T02:58:36Z",
"usageNanoCores": 2928595,
"usageCoreNanoSeconds": 7161199061
},
"memory": {
"time": "2021-05-19T02:58:36Z",
"usageBytes": 212058112,
"workingSetBytes": 98967552,
"rssBytes": 59850752,
"pageFaults": 94660,
"majorPageFaults": 55
}
}
],
"startTime": "2021-05-19T02:21:35Z",
"cpu": {
"time": "2021-05-19T02:58:39Z",
"usageNanoCores": 17408633,
"usageCoreNanoSeconds": 65648880947
},
"memory": {
"time": "2021-05-19T02:58:39Z",
"availableBytes": 557957120,
"usageBytes": 847716352,
"workingSetBytes": 482168832,
"rssBytes": 149295104,
"pageFaults": 42402,
"majorPageFaults": 85
},
"network": {
"time": "2021-05-19T02:58:39Z",
"name": "eth0",
"rxBytes": 222483820,
"rxErrors": 0,
"txBytes": 8539498,
"txErrors": 0,
"interfaces": [
{
"name": "eth0",
"rxBytes": 222483820,
"rxErrors": 0,
"txBytes": 8539498,
"txErrors": 0
}
]
},
"fs": {
"time": "2021-05-19T02:58:39Z",
"availableBytes": 18767896576,
"capacityBytes": 20749852672,
"usedBytes": 1965178880,
"inodesFree": 2492827,
"inodes": 2560000,
"inodesUsed": 67173
},
"runtime": {
"imageFs": {
"time": "2021-05-19T02:58:39Z",
"availableBytes": 18767896576,
"capacityBytes": 20749852672,
"usedBytes": 133865025,
"inodesFree": 2492827,
"inodes": 2560000,
"inodesUsed": 67173
}
},
"rlimit": {
"time": "2021-05-19T02:58:42Z",
"maxpid": 32768,
"curproc": 177
}
},
#正常来说这里应该是有数据的
"pods": []
yinmin2020K零S
- 已编辑
zhu733756 边缘节点监控数据不显示还可以使用如下方法,感谢你的指导支持。
kubectl -n kubeedge edit cm edge-watcher
修改完毕后重启edge-watcher-controller-manager服务
yinmin2020 客气大佬,这是iptables转发目的地,扩展来说,应该是node节点上的ip都可以的,本身支持lb的,不是填写外网ip地址;最后,感谢两位大佬,素材我统一收集放在kubeedge集成指南,后面有需要的小伙伴可以去看看。
kubeedge v1.6.2 昨天发布,今天测试该bug已经修复,见图:
ks-installer 镜像tag一会pr
由于目前cloudcore image官方还没有build,但是v1.6.1是可以用的。边缘端需要升级到v1.6.2,也可以添加以下配置进行修改:
apiVersion: v1
kind: ConfigMap
metadata:
name: edge-watcher-config
namespace: kubeedge
data:
version: v1.6.2
uri: ""
region: zh
像这种情况 边缘端 的 服务是127.0.0.1地址启动的,无法对外暴露,这种怎么弄 @zhu733756
- 已编辑
yinzhipeng123 改成0.0.0.0试试?
边缘测得通过云端得ip去通信。所以云端暴露得ip,边缘需要能访问到即可。
metrics是通过metric-server来发起的,cloudcore:tunelport中转来访问边缘测,只要边缘测和云端正常通信,应该是没有问题的。
如果你需要再其他主机访问边缘metrics,哪得用0.,0.0.0,以及主机可通信。
- 已编辑
zhu733756 现在就是边缘端的监控没有,根据楼主的思路去排查,现在发现边缘端的监控信息现在暴露在边缘端的127.0.0.1上,这个如何改成0.0.0.0,改什么配置呢?
yinzhipeng123 理解错了,以为你是要通过其他服务器来访问这台边缘测metrics。
如果是ks安装的话,排查下metrics-server的日志,以及检查云端的iptables转发规则建立了没有?
zhu733756 你这个有点答非所问,现在边缘端的监控暴露在127.0.0.1上,如何改成0.0.0.0上
zhu733756 iptables转发规则这个看哪个部分?主机的监控有,但是边缘端没有
- 已编辑
yinzhipeng123 云端(部署cloudcore的node节点)的iptables转发规则,grep 30003或者10350,图片中的都是边缘端。
之前写得排查指南,https://kubesphere.com.cn/forum/d/4362-kubeedge,
基本上涵盖了所有类型的问题,遇到问题可以先搜搜。
原因找到:安装完成后master节点上有污点,iptables未部署到master节点上。
解决办法更新:
iptables无法部署到master节点上,将master节点上的污点去掉后,iptables守护进程自动部署,问题解决。