prometheus-operator包括DaemonSet,可将node-exporter部署到群集中的每个节点。它可以工作,但是我们缺少一些有用的标签信息,例如:
# kubectl get nodes --all-namespaces --show-labels=true
NAME STATUS ROLES AGE VERSION LABELS
ip-1 Ready master 2d v1.10.12 ...,kubernetes.io/role=master,...
=
ip-2 Ready node 2d v1.10.12 ...,kubernetes.io/role=node,...
所以我们在标签中有有用的信息-ip-1是master,ip-2是worker等。
但是此信息在节点导出器目标上丢失了,因为节点标签没有传播到守护程序节点导出器容器中。
例如,在普罗米修斯,我无法按节点类型对节点进行分组。
也许有一种方法可以实现这一目标?谢谢!
答案 0 :(得分:0)
似乎您需要使用relabel_config
这是一个示例:https://www.robustperception.io/automatically-monitoring-ec2-instances
P.S。至于特定角色,您也可以在这篇文章中找到有用的信息:How to have labels for machine roles
更新: 要获取其他节点详细信息,可以使用元数据,sidecar或init容器无法提供的其他节点详细信息,例如:init container for node properties example。
此外,使节点标签可用于pod:40610
也是一个未解决的问题