Как добавить extraScrapeConfigs в таблицу управления Prometheus из аргумента --set? - PullRequest
0 голосов
/ 26 марта 2019

Я хочу развернуть Prometheus с официального рулевого графика в репозитории stable.

Кроме того, я хочу добавить свою собственную конфигурацию очистки.

Я могу успешно добавить дополнительные конфиги непосредственно из файла 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 Как использовать --set для установки значений с помощью диаграммы Прометея? , но я не могу найти способ применить его к своему делу.

1 Ответ

1 голос
/ 28 марта 2019

Когда мы собираемся ввести многострочный текст в значения, нам нужно иметь дело с отступом в 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 рулевую диаграмму:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...