prometheus - 从节点到 daemonset/kube-prometheus-exporter-node 的标签
问题描述
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 等等。
但是此信息在节点导出器目标上丢失,因为节点标签不会传播到守护进程节点导出器 pod。
因此,在普罗米修斯中,例如,我不能按节点的类型对节点进行分组。
也许有办法实现这一目标?谢谢!
解决方案
看来你需要使用relabel_config
这是一个例子:https ://www.robustperception.io/automatically-monitoring-ec2-instances
PS 至于特定的角色,您也可以在这篇文章中找到有用的:如何为机器角色设置标签
更新:要获取元数据中不可用的其他节点详细信息,可以使用 sidecar 或 init 容器,例如:节点属性示例的 init 容器。
此外,使节点标签可用于 pod 是一个开放问题:40610
推荐阅读
- android - 警报广播接收器,总是触发,但活动没有启动,我没有收到任何崩溃报告
- javascript - 火狐打印空白页
- javascript - 如何使用 AJAX 发送 div 元素?
- c# - “myBody.velocity.y”是什么意思?
- c++ - 如何调用算子模板?
- ios - 如何将数据传递到 UIView 侧的嵌入式 UIViewController - Swift 5
- r - 在 R markdown 中的 YAML 标头之前包含 R 块
- c++ - std::async 线程池继续执行而不阻塞
- javascript - Google PhoneNumber Validator 未正确验证
- ssl - Chrome 不发送客户端证书,但证书有效