Хранилище
База данных в проекте нужна для:
-
хранения конфигурации Grafana (дашборды, пользователи, настройки)
-
хранения построенных LSTM моделей и истории аномалий
Для развертывания PostgreSQL был использован helm-чарт от Bitnami.
Дополнительно был добавлен сервис типа NodePort для дальнейшей конфигурации PostgreSQL через Terraform.
git clone https://github.com/vladaderina/MAD.git
cd ./helm/storage
helm dependency build
helm upgrade storage . --install --create-namespace -n storage
Провайдер для работы с Postgres¶
Провойдер был загружен из облака.
В домашнем каталоге пользователя был создан .terraformrc с содержанием:
provider_installation {
network_mirror {
url = "https://nm.tf.org.ru/"
include = ["registry.terraform.io/*/*"]
}
direct {
exclude = ["registry.terraform.io/*/*"]
}
}
Запуск Terraform¶
Перед запуском нужно установить переменные окружения
export TF_VAR_postgres_password=$(kubectl get secret storage-postgresql -n storage -o jsonpath="{.data.postgres-password}" | base64 --decode)
export TF_VAR_grafana_db_password="grafana"
Далее выполнить команды