# Install [Prometheus](https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/README.md) ## Create from version | Project | Version | |------------|----------| | Prometheus | 27.5.1 | ## Install Настраиваем для работы файл конфигурации kubectl для подключения к кластеру Kubernetes Готовим служебную УЗ для vault (ЭТО АВТОМАТИЗИРОВАНО через ArgoCD): ```bash kubectl apply -f .rbac/vault-service-account.yaml kubectl apply -f .rbac/harbor-registry-secret.yaml ``` Получаем из Vault секреты с паролями/токенами/сертификатами и выгружаем в окружение оболочки: ```bash ./prometheus_values_secrets_init.sh source .creds ``` Применяем сетевые политики: ```bash kubectl -n cloud-prod apply -f prometheus-network-policy.yaml ``` И производим непосредственную установку: ```bash 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 секреты с паролями/токенами/сертификатами и выгружаем в окружение оболочки: ```bash ./prometheus_values_secrets_init.sh source .creds ``` Затем применяем: ```bash 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 ```