一个Kubernetes工作节点正在被“忽略”度量抓取

vojdkbi0  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(110)

我正在使用Prometheus和Grafana来收集和显示Kubernetes集群的指标信息。在本例中,我正在收集内存信息,并发现其中一个工作节点没有出现在某些指标的结果中,而它出现在其他指标的结果中。我能看到的唯一可能与此有关的事情是,该节点应用了污点。
以下是节点污点:
第一个月
其余的工作节点没有(明显的)污点。难道这就是什么都没刮的原因吗?
下面是一个包含此节点(arc-worker-4)信息的度量示例:
查询:
machine_memory_bytes{node="arc-worker-4"}
测试结果:
| 价值| value |
| --| ------------ |
| 电话:135090417664| 135090417664 |
如果在另一个指标上运行查询,则没有结果:
查询:
node_memory_MemTotal_bytes{node="arc-worker-4"}
测试结果:
Empty query result
在名为node_memory_..._bytes的指标组(大约有50个)中,没有一个指标包含此节点的任何数据。为什么?我获取所有其他节点的数据,包括主节点。

ryoqjall

ryoqjall1#

通过在Prometheus(kube-prometheus-stack)配置中添加toleration,可以解决这个问题。这允许Prometheus附带的节点导出器部署到带有该污点的节点上。我现在正在从node_memory_..._bytes系列指标中获得结果。
做了什么:
在Prometheus Helm chart values.yaml中,添加了以下内容:

prometheus-node-exporter:
    tolerations:
      - effect: NoSchedule
        operator: Exists
      - key: nodeType
        operator: Equal
        value: runner-node
        effect: NoExecute

字符串
第一个容差是默认值,但需要在这里指定,否则它会消失。我需要它,这样主节点仍然会被刮。

相关问题