Одним из этапов подготовки инфраструктуры для работы с приложением ELMA365 является настройка проксирования запросов к базам данных. Для этого вы можете использовать инструмент DB‑Gateway.
Он обеспечивает доступ к базам данных Redis, RabbitMQ, PostgreSQL и MinIO через точку входа в Kubernetes‑кластере. Это упрощает процесс подключения к базам‑данных и работу с ними, а также оптимизирует количество инфраструктурных компонентов, необходимых для настройки проксирования.
Установка DB‑Gateway состоит из следующих этапов:
- Загрузить helm‑чарт и конфигурационный файл.
- Заполнить конфигурационный файл.
- Установить чарт DB‑Gateway с помощью Helm в Kubernetes‑кластер.
- Подключиться к базам данных.
Шаг 1: Загрузить helm-чарт и конфигурационный файл
Для установки через интернет получите конфигурационный файл values-dbgateway.yaml
, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/dbgateway > values-dbgateway.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
helm repo add elma365 https://charts.elma365.tech
tar -xf dbgateway-X.Y.Z.tgz |
Шаг 2: Заполнить конфигурационный файл
Заполните конфигурационный файл values-dbgateway.yaml
для установки DB‑Gateway:
- В параметре
ingress.hostname
укажите домен (FQDN) или IP‑адрес, по которому доступно приложение ELMA365. - В параметре
ingress.path
укажите наименование бакета (в хранилище баз данных), в котором хранятся файлы приложения ELMA365.
Наименование бакета в базе данных должно соответствовать формату DBelma365.
Начало примера
Пример:
- DBelma365
- DBelma365-dev
- DBelma365-prod
конец примера
- Следующие изменения нужно внести в конфигурационный файл, если веб‑интерфейс приложения ELMA365 доступен по HTTPS:
- в параметре
ingress.hostname
укажите домен (FQDN); - в параметре
ingress.ingressClassName
укажите имя класса ingress‑контроллера; - включите поддержку TLS, установив значение
true
в параметреingress.tls
; - раскомментируйте параметры секции
ingress.extraTls
; - для параметра
ingress.extraTls.hosts
укажите домен (FQDN), по которому доступно приложение ELMA365; - для параметра
ingress.extraTls.secretName
укажите наименованиеsecret
типаtls
для домена, указанного вingress.extraTls.hosts
.
- Если обеспечивается отказоустойчивость, в параметре
replicaCount
укажите необходимое количество реплик.
- В параметре
configuration
указана конфигурация HAProxy, с которой этот инструмент запустится в Kubernetes‑кластере. В секцииbackend DB_main
конфигурации HAProxy укажите список серверов баз данных, на которые будет перенаправляться пользовательский трафик.
Пример настройки HAProxy для проксирования подключения к хранилищу баз данных
|
- Если вы устанавливаете чарт DB‑Gateway в закрытом контуре без доступа в интернет, заполните параметры подключения к приватному registry.
Пример заполнения параметров для подключения к приватному registry
# Настройки haproxy для проксирования подключения к хранилищу баз данных |
Шаг 3: Установить чарт DB-Gateway с помощью Helm в Kubernetes-кластер
Установите чарт DB‑Gateway в namespace dbgateway
.
Для установки через интернет выполните команду:
helm upgrade --install dbgateway elma365/dbgateway -f values-dbgateway.yaml -n dbgateway --create-namespace
Для установки без доступа в интернет выполните команду:
helm upgrade --install dbgateway ./dbgateway -f values-dbgateway.yaml -n dbgateway --create-namespace
Шаг 4: Подключиться к базам данных
В конфигурационном файле values-elma365.yaml
заполните параметры, чтобы приложение ELMA365 подключалось к базам данных через настроенный инструмент DB‑Gateway:
- параметры для подключения к MinIO:
address
— укажитеelma365-server.your_domain
;bucket
,region
,access key ID
,secret access key
,upload method
иenable SSL
— укажите значения согласно параметрам хранилища базы данных, для которого настраивается проксирование;
- параметры для подключения к Redis:
elma365.db.redisUrl — 'redis://:SecretPassword@redis.dbgateway.svc.cluster.local:6379/0';
- параметры для подключения к RabbitMQ:
elma365.db.amqpUrl — 'amqp://elma365user:SecretPassword@rabbitmq.dbgateway.svc.cluster.local:5672/0';
elma365.db.amqpManagementUrl — 'http://rabbitmq-stats.dbgateway.svc.cluster.local:15672';
- параметры для подключения к PostgreSQL:
elma365.db.psqlUrl — 'postgresql://elma365user:SecretPassword@postgresql.dbgateway.svc.cluster.local:5000/elma365?sslmode=disable';
elma365.db.roPsqlUrl — 'postgresql://elma365user:SecretPassword@postgresqlro.dbgateway.svc.cluster.local:5001/elma365?sslmode=disable';
Подробнее о заполнении этих параметров читайте в статье «Изменение параметров ELMA365 Enterprise».