Files
k8s-configs/clusters/k8s-avroid-office.prod.local/namespaces/cloud-prod/monitoring/prometheus/README.md
2025-03-04 22:07:05 +03:00

2.9 KiB
Raw Blame History

Install Prometheus

Create from version

Project Version
Prometheus 27.5.1

Install

Настраиваем для работы файл конфигурации kubectl для подключения к кластеру Kubernetes

Готовим служебную УЗ для vault (ЭТО АВТОМАТИЗИРОВАНО через ArgoCD):

kubectl apply -f .rbac/vault-service-account.yaml
kubectl apply -f .rbac/harbor-registry-secret.yaml

Получаем из Vault секреты с паролями/токенами/сертификатами и выгружаем в окружение оболочки:

./prometheus_values_secrets_init.sh

source .creds

Применяем сетевые политики:

kubectl -n cloud-prod apply -f prometheus-network-policy.yaml

И производим непосредственную установку:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

helm install -n cloud-prod prometheus prometheus-community/prometheus -f values-override.yaml \
  --set serverFiles.prometheus\\.yml.scrape_configs[1].consul_sd_configs[0].authorization.credentials=$PROMETHEUS_CONSUL_TOKEN_VALUE \
  --set serverFiles.prometheus\\.yml.scrape_configs[2].consul_sd_configs[0].authorization.credentials=$PROMETHEUS_CONSUL_TOKEN_VALUE \
  --set serverFiles.prometheus\\.yml.scrape_configs[3].consul_sd_configs[0].authorization.credentials=$PROMETHEUS_CONSUL_TOKEN_VALUE

Upgrade/Changes

Обновление настроек и чарта делаем так:

В начале сравниваем содержимое values-override.yaml с исходным файлом values.yaml (ссылка на исходную версию зафиксирована в заголовке values-override.yaml) через diff (IDE лучше). Или с новой версией values.yaml в Helm-чарте. Вносим необходимые правки, новые опции или добавляем секреты.

Получаем из Vault секреты с паролями/токенами/сертификатами и выгружаем в окружение оболочки:

./prometheus_values_secrets_init.sh

source .creds

Затем применяем:

helm upgrade -n cloud-prod prometheus prometheus-community/prometheus -f values-override.yaml \
  --set serverFiles.prometheus\\.yml.scrape_configs[1].consul_sd_configs[0].authorization.credentials=$PROMETHEUS_CONSUL_TOKEN_VALUE \
  --set serverFiles.prometheus\\.yml.scrape_configs[2].consul_sd_configs[0].authorization.credentials=$PROMETHEUS_CONSUL_TOKEN_VALUE \
  --set serverFiles.prometheus\\.yml.scrape_configs[3].consul_sd_configs[0].authorization.credentials=$PROMETHEUS_CONSUL_TOKEN_VALUE