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

Configuring prometheus using helm onto a specific node in kubernetes

我正在尝试在 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

但是,当我尝试描述创建的 pods 时,我无法将 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

您需要为每个组件配置nodeSelector

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

你可以找到所有的值here