prometheus - 如何从 --set 参数将 extraScrapeConfigs 添加到 Prometheus helm 图表?
问题描述
我想从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 question How to use --set to set values with Prometheus chart?,但我找不到将其应用于我的案例的方法。
解决方案
当我们要将多行文本注入到值中时,我们需要处理 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
推荐阅读
- git - 是否可以放弃对不匹配模式的文件的未暂存的 Git 更改?
- javascript - jquery promise,在成功发布请求后链接获取请求
- javascript - 如何禁用 Bootstrap 上的按钮?
- javascript - DataTable 列显示对象而不显示实际值?
- html - Google Maps Javascript 的可视化效果不佳
- javascript - 列出元素和 javascript 值
- python - Pygame,win.blit 不工作
- php - 除非目录名称以下划线开头,否则图像不会显示
- c - 蛮力算法导致未定义的行为
- swift - 如何将数据从一个视图控制器传递到另一个视图控制器以及在视图控制器之间有一个显示视图控制器