为helm安装的prometheus-operator设置服务发现的名称空间

时间:2020-06-27 21:08:02

标签: kubernetes kubernetes-helm prometheus-operator

我已经通过头盔3安装了prometheus-operator

helm install prom stable/prometheus-operator --namespace monitor

但是我还想为服务发现设置命名空间,在标准安装中这是“默认”。

当我query the prometheus config时,我看到以下内容:

kubernetes_sd_configs:
- role: endpoints
  namespaces:
    names:
    - default

我已经检查了prometheus-operator的文档,但是找不到如何更改默认名称空间的选项。

有一个参数serviceMonitorNamespaceSelector,但这似乎是在名称空间中搜索serviceMonitor本身。

2 个答案:

答案 0 :(得分:2)

应该在所需的命名空间中创建ServiceMonitor对象,并使用适当的标签供Prometheus Operator处理。

请参阅https://coreos.com/operators/prometheus/docs/latest/api.html#servicemonitorspec

答案 1 :(得分:1)

由于@naga的提示,我找到了解决方法:

使用头盔安装prometheus运算符:

helm install prom stable/prometheus-operator --namespace monitor -f values.yaml

values.yaml配置文件:

kubelet:
  serviceMonitor:
    https:
      false
prometheus:
  additionalServiceMonitors:
    - name: my-monitor
      selector:
        matchLabels:
          app.kubernetes.io/instance : myvalue
      namespaceSelector:
        matchNames:
          - mynamespace
      endpoints:
        - port: metrics
          interval: 10s