prometheus-operator包括DaemonSet,用于将节点导出器部署到集群中的每个节点。它可以工作,但我们缺少一些有用的标签信息,例如:
# 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,依此类推。
但此信息在节点导出器目标上丢失,因为节点标签不会传播到守护节点导出器pod。
例如,在prometheus中,我不能根据节点的类型对节点进行分组。
也许有办法做到这一点呢?谢谢!
发布于 2019-02-16 22:02:48
看起来你需要使用relabel_config
这是一个例子:https://www.robustperception.io/automatically-monitoring-ec2-instances
附言:至于具体的角色,你也可以在这篇文章中找到用处:How to have labels for machine roles
更新:要获取元数据中不可用的其他节点详细信息,可以使用sidecar或init容器,例如:init container for node properties example。
另外,使节点标签可用于pod:40610也是一个有待解决的问题
https://stackoverflow.com/questions/54722137
复制相似问题