【问题标题】:How to add extraScrapeConfigs to Prometheus helm chart from --set argument?如何从 --set 参数将 extraScrapeConfigs 添加到 Prometheus helm 图表?
【发布时间】:2019-03-26 15:22:58
【问题描述】:

我想从stable repo 上的官方 helm chart 部署 Prometheus。

另外,我想添加自己的抓取配置。

我可以直接从图表的values.yml 文件中成功添加额外的配置,在下载和更改它之后,但是当我尝试将它作为--set 的参数传递时没有任何反应。

这有效[在values.yml]:

# adds additional scrape configs to prometheus.yml
# must be a string so you have to add a | after extraScrapeConfigs:
# example adds prometheus-blackbox-exporter scrape config
extraScrapeConfigs: |
  - job_name: 'sample-job'
    scrape_interval: 1s
    metrics_path: /
    kubernetes_sd_configs:
      - role: endpoints

这不是:

sudo helm upgrade --install prometheus \
--set rbac.create=true \
--set server.persistentVolume.enabled=false \
--set alertmanager.persistentVolume.enabled=false \
--set alertmanager.enabled=false \
--set kubeStateMetrics.enabled=false \
--set nodeExporter.enabled=false \
--set pushgateway.enabled=false \
--set extraScrapeConfigs="|
  - job_name: 'sample-pods'
    scrape_interval: 1s
    metrics_path: /
    kubernetes_sd_configs:
      - role: endpoints
" \
stable/prometheus

有可能吗?

我发现了这个 SO 问题 How to use --set to set values with Prometheus chart?,但我找不到将其应用于我的案例的方法。

【问题讨论】:

    标签: prometheus kubernetes-helm


    【解决方案1】:

    当我们要将多行文本注入到值中时,我们需要处理 YAML 中的缩进。

    对于您的特定情况,它是:

    sudo helm upgrade --install prometheus \
    --set rbac.create=true \
    --set server.persistentVolume.enabled=false \
    --set alertmanager.persistentVolume.enabled=false \
    --set alertmanager.enabled=false \
    --set kubeStateMetrics.enabled=false \
    --set nodeExporter.enabled=false \
    --set pushgateway.enabled=false \
    --set extraScrapeConfigs="- job_name: 'sample-pods'
      scrape_interval: 1s
      metrics_path: /
      kubernetes_sd_configs:
        - role: endpoints" \
    stable/prometheus
    

    更优雅的方式是使用--set-file key=filepath 构造而不是--set

    1. 我们创建extraScrapeConfigs.yaml 并按原样放置我们的值:

    - job_name: 'sample-pods'
      scrape_interval: 1s
      metrics_path: /
      kubernetes_sd_configs:
        - role: endpoints
    

    2.我们部署stable/prometheus helm chart:

    sudo helm upgrade --install prometheus \
    --set rbac.create=true \
    --set server.persistentVolume.enabled=false \
    --set alertmanager.persistentVolume.enabled=false \
    --set alertmanager.enabled=false \
    --set kubeStateMetrics.enabled=false \
    --set nodeExporter.enabled=false \
    --set pushgateway.enabled=false \
    --set-file extraScrapeConfigs=extraScrapeConfigs.yaml \
    stable/prometheus
    

    【讨论】:

    • 谢谢尼克莱!我仍然想知道为什么这些事情没有得到很好的记录。
    • 非常感谢。你救了我的命。 ;)
    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 2019-10-31
    • 2020-05-07
    • 2020-10-08
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多