如何从--set参数将extraScrapeConfigs添加到Prometheus舵图?

时间:2019-03-26 15:22:58

标签: prometheus kubernetes-helm

我想从stable回购中的官方头盔图表中部署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

有可能吗?

我发现了这样的问题How to use --set to set values with Prometheus chart?,但是我找不到将其应用于我的情况的方法。

1 个答案:

答案 0 :(得分:1)

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

对于您的特殊情况是:

id  Start Date  End Date    Holiday
0   2019-09-27  2019-10-06  True
1   2019-10-09  2019-10-22  False
2   2019-05-04  2019-05-15  True
3   2019-09-18  2019-09-29  False

更优雅的方法是使用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

1。。我们创建--set并按原样放置值:

extraScrapeConfigs.yaml

2。。我们部署- job_name: 'sample-pods' scrape_interval: 1s metrics_path: / kubernetes_sd_configs: - role: endpoints 舵图:

stable/prometheus