使用 helm 将 prometheus 配置到 kubernetes 中的特定节点上

Posted

技术标签:

【中文标题】使用 helm 将 prometheus 配置到 kubernetes 中的特定节点上【英文标题】:Configuring prometheus using helm onto a specific node in kubernetes 【发布时间】:2021-07-21 02:08:50 【问题描述】:

我正在尝试在 Kubernetes 中使用 Helm 配置 Prometheus,并尝试执行如下命令,部署成功。

$ helm install prometheus prometheus-community/prometheus --namespace prometheus --set 
nodeSelector.nodetype=infra
NAME: prometheus
LAST DEPLOYED: Tue Apr 27 22:47:20 2021
NAMESPACE: prometheus
STATUS: deployed

但是,当我尝试描述创建的 pod 时,我无法将 nodeSelector 值视为“nodetype=infra”。有人可以指出我错过了哪里。

$ kubectl get pods -n prometheus                              
NAME                                             READY   STATUS    RESTARTS   AGE
prometheus-alertmanager-7f86c968db-vln2x         2/2     Running   0          61m
prometheus-kube-state-metrics-6bfcd6f648-6cdbw   1/1     Running   0          61m
prometheus-node-exporter-7q9lh                   1/1     Running   0          61m
prometheus-pushgateway-54576f7765-6kjt5          1/1     Running   0          61m
prometheus-server-7c9b8dbfcd-9x48b               2/2     Running   0          61m

$ kubectl describe pod prometheus-alertmanager-7f86c968db-vln2x -n prometheus
Name:         prometheus-alertmanager-6bc84b9455-4g9mw
Namespace:    prometheus
Priority:     0
..
QoS Class:       BestEffort
Node-Selectors:  <none> --> This is the field I'm expecting to have "nodetype=infra"

Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s

【问题讨论】:

【参考方案1】:

需要为每个组件配置nodeSelector

alertmanager:
   nodeSelector:
      nodetype: infra
nodeExporter:
   nodeSelector:
      nodetype: infra
server:
   nodeSelector:
      nodetype: infra
pushgateway:
   nodeSelector:
      nodetype: infra

你可以find所有的值here

【讨论】:

以上是关于使用 helm 将 prometheus 配置到 kubernetes 中的特定节点上的主要内容,如果未能解决你的问题,请参考以下文章

helm Prometheus values.yaml 的 alertmanager.yml 部分中的 external_labels 配置出错

如何使用 Helm 更改 Prometheus 配置 scrape_interval 以进行 Prometheus 部署

如何将抓取目标添加到使用 Kubernetes-Helm 安装的 Prometheus 服务器?

k8s实践17:监控利器prometheus helm方式部署配置测试

如何找到 helm 配置的 prometheus blackbox exporter 容器正在抓取的目标

Prometheus Helm Chart:如何配置黑盒导出器?