начало внимание
С 30.05.2024 заблокирован доступ из РФ к Docker Hub. Ознакомьтесь с официальным заявлением компании.
конец внимание
Приложение ELMA365 On-Premises устанавливается в Kubernetes-кластер. В работе используются СУБД PostgreSQL, MongoDB, Redis, шина событий RabbitMQ и объектное хранилище данных S3 (MinIO). Подробнее об этом читайте в статье «Архитектура».
Установка состоит из пяти этапов:
- Подготовка инфраструктуры (опционально).
- Скачивание Helm-чарта и конфигурационного файла.
- Заполнение конфигурационного файла.
- Установка с помощью Helm в Kubernetes-кластер приложения ELMA365.
- Установка дополнений для приложения ELMA365 (опционально).
Перед началом установки ознакомьтесь с системными требованиями ELMA365 On-Premises Enterprise.
Шаг 1: Подготовка инфраструктуры (опционально)
Под инфраструктурой понимаются необходимые для работы приложения ELMA365 On-Premises компоненты.
Начало внимание
Предполагается, что зависимые компоненты должны быть развёрнуты заказчиком самостоятельно. Все работы по организации отказоустойчивой локальной архитектуры, настройке отказоустойчивости зависимых компонентов также остаются на стороне заказчика.
Конец внимание
Компоненты, необходимые для работы приложения ELMA365 On-Premises:
- Kubernetes-кластер;
- PostgreSQL;
- MongoDB;
- RabbitMQ;
- Redis;
- S3 (MinIO).
В рамках текущей статьи базы данных и S3-хранилище установлены в kubernetes-кластер по статье «Подготовка встроенных баз данных» и используют стандартные строки подключения и пароли.
Требования к конфигурациям компонентов
Требования к конфигурации KubernetesУстановленная версия кластера Kubernetes должна поддерживать Kubernetes API v.2 (версия Kubernetes 1.21 - 1.30) и содержать следующие компоненты: ingress-nginx контроллер, coredns, rbac, storageclass. Установка производится с использованием Helm v.3. Должно быть разрешено проксирование из подов во внешнюю сеть. Если необходимо развернуть Kubernetes-кластер, воспользуйтесь статьями раздела «Kubernetes». Хранение данныхВы можете использовать свои уже существующие базы данных и хранилище S3 в качестве компонентов для приложения ELMA365 On-Premises. Также есть возможность комбинирования своих компонентов и компонентов развёрнутых с использованием чартов При необходимости развертывания всех или только недостающих компонентов воспользуйтесь статьями раздела «Базы данных». ОтказоустойчивостьЧтобы обеспечить непрерывную работу ELMA365 на Bare-metal серверах, требуется собрать отказоустойчивый кластер Kubernetes и обеспечить отказоустойчивую работу используемых баз данных и хранилища S3. Подробнее о построении высокодоступной среды ELMA365 читайте в разделе «Подготовка инфраструктуры». Оффлайн-установка (Air-gap)Можно установить ELMA365 в закрытом окружении, из которого нет прямого доступа к внешнему хранилищу образов контейнеров. Для этого необходимо на компьютере с доступом в интернет скачать образы приложения ELMA365 и импортировать их в локальный репозиторий образов. Подробнее читайте в статье «Загрузка образов ELMA365». |
Данный раздел можно пропустить, если требования к конфигурациям компонентов соблюдены и потребности в развёртывании необходимых для работы приложения ELMA365 On-Premises компонентов нет.
Шаг 2: Скачивание Helm-чарта и конфигурационного файла
Получите конфигурационный файл values-elma365.yaml
актуальной latest-версии системы при установке через интернет, выполнив следующую команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/elma365 > values-elma365.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
helm repo add elma365 https://charts.elma365.tech
tar -xf elma365-X.Y.Z.tgz |
Вы также можете загрузить файл формата .tar.gz с определённой версией ELMA365 с помощью адресов, перечисленных в статье «Ссылки для скачивания дистрибутивов ELMA365».
Шаг 3: Заполнение конфигурационного файла
Для быстрого старта приложения заполните основные параметры:
global.host
— домен (FQDN) или ip-адрес, по которому будет доступна система;bootstrapCompany.email
— электронная почта администратора;bootstrapCompany.password
— пароль администратора;db.psqlUrl
— строка подключения к БД PostgreSQL;db.mongoUrl
— строка подключения к БД MongoDB для приложения;db.vahterMongoUrl
— строка подключения к БД MongoDB для сервера авторизации;db.redisUrl
— строка подключения к Redis;db.amqpUrl
— строка подключения к RabbitMQ;db.s3.method
— метод запросов к S3;db.s3.accesskeyid
— имя пользователя S3;db.s3.secretaccesskey
— пароль для пользователя S3;db.s3.bucket
— бакет S3;db.s3.backend.address
— адрес S3;db.s3.backend.region
— регион S3;db.s3.ssl.enabled
— включение SSL S3.
Заполните переменные в файле values-elma365.yaml
, выполнив следующие действия:
- Задайте домен FQDN или ip-адрес, по которому будет доступна система в параметре
global.host
.
В статье «Подготовка встроенных баз данных» на шаге 1 было подготовлено хранилище S3 MinIO, которое доступно по домену (FQDN) elma365_server.your_domain
. При использовании встроенного хранилища S3, доступного по домену (FQDN), приложение ELMA365 должно быть доступно по этому же доменному имени. Чтобы это сделать, в global.host
необходимо указать elma365_server.your_domain
и включить привязку ingress
к домену elma365_server.your_domain
. Для этого в параметре ingress.hostEnabled
установите значение true
.
global:
## домен (FQDN) или ip-адрес, по которому будет доступна система
host: 'elma365_server.your_domain'
ingress:
hostEnabled: true
- Заполните параметры создания компании в разделе
bootstrapCompany
. Компания создастся при установке ELMA365.
- Задайте адрес электронной почты администратора в параметре
bootstrapCompany.email
. Этот адрес будет являться логином для входа главного администратора.
Начало внимание
Логин главного администратора нельзя изменить после установки системы.
Конец внимание
- Укажите согласно вашей политики безопасности, пароль для входа главного администратора в параметре
bootstrapCompany.password
.
- Задайте язык компании в параметре
bootstrapCompany.locale
, напримерru-RU
:
bootstrapCompany:
## эл. почта администратора
email: "admin@mail.com"
## пароль администратора
password: "test"
## язык установленной системы, возможные варианты: "ru-RU", "en-US", "sk-SK"
locale: "ru-RU"
- Задайте язык устанавливаемой системы в параметре
language.default
, напримерru-RU
:
language:
## язык установленной системы, возможные варианты: "ru-RU", "en-US", "sk-SK"
default: "ru-RU"
- Заполните строки подключения к базам данных PostgreSQL, MongoDB, RabbitMQ, Redis, используя параметры
db.psqlUrl
,db.mongoUrl
,db.vahterMongoUrl
,db.redisUrl
,db.amqpUrl
:
db:
## строка подключения к БД Postgres, формат: postgresql://user:password@hostname:5432/databaseName
psqlUrl: 'postgres://postgres:pgpassword@postgres.elma365-dbs.svc.cluster.local:5432/elma365?sslmode=disable'
## строка подключения к БД Postgres только для чтения, формат: postgresql://user:password@hostname:5432/databaseName
roPsqlUrl: ''
## cтрока подключения к БД MongoDB для приложения, формат: mongodb://user:password@hostname:27017/databaseName
mongoUrl: 'mongodb://elma365:mongopassword@mongo.elma365-dbs.svc.cluster.local:27017/elma365?ssl=false&replicaSet=rs0&readPreference=secondaryPreferred'
## cтрока подключения к БД MongoDB для сервера авторизации, формат: mongodb://user:password@hostname:27017/databaseName
vahterMongoUrl: 'mongodb://elma365:mongopassword@mongo.elma365-dbs.svc.cluster.local:27017/elma365?ssl=false&replicaSet=rs0&readPreference=secondaryPreferred'
## cтрока подключения к Redis, формат: redis://user:password@redis.local:6379/databaseName
redisUrl: 'redis://redis.elma365-dbs.svc.cluster.local:6379/0'
## cтрока подключения к Rabbit, формат amqp://user:password@hostname:5672/vhost
amqpUrl: 'amqp://elma365:rmqpassword@rabbitmq.elma365-dbs.svc.cluster.local:5672/elma365'
- Заполните параметры подключения к S3 хранилищу файлов:
db.s3.method
— метод запросов к S3;db.s3.accesskeyid
— имя пользователя S3;db.s3.secretaccesskey
— пароль для пользователя S3;db.s3.bucket
— бакет S3;db.s3.backend.address
— адрес S3;db.s3.backend.region
— регион S3;db.s3.ssl.enabled
— включение SSL S3.
db:
s3:
method: PUT
accesskeyid: PZSF73JG72Ksd955JKU1HIA
secretaccesskey: aFDkj28Jbs2JKbnvJH678MNwiz88zKjsuNBHHs
bucket: s3elma365
backend:
address: elma365_server.your_domain
region: us-east-1
ssl:
enabled: "false"
Для подключения к приватному registry необходимо выполнить следующие действия:
global: Где формат
|
Конфигурационный файл values-elma365.yaml
содержит большое количество параметров приложения ELMA365 On-Premises. Полное руководство по заполнению переменных в этом файле читайте в статье «Изменение параметров ELMA365 Enterprise».
Шаг 4: Установка с помощью Helm в Kubernetes-кластер приложения ELMA365
- Установите приложение ELMA365 Enterprise с использованием конфигурационного файла
values-elma365.yaml
. Если требуется установить приложение в отдельныйnamespace
, укажите его в команде установки:
helm upgrade --install elma365 elma365/elma365 \
-f values-elma365.yaml \
--timeout=30m --wait [-n namespace]
Чтобы установить приложение ELMA365 Enterprise в закрытом контуре без доступа в интернет, выполните следующую команду:
helm upgrade --install elma365 ./elma365 \
-f values-elma365.yaml \
--timeout=30m --wait [-n namespace]
Время установки приложения ELMA365 Enterprise занимает 10-30 минут. Дождитесь обновления параметров приложения ELMA365 Enterprise.
- Запустите браузер и откройте страницу входа в приложение ELMA365 Enterprise по адресу
http://global.host
. Параметрglobal.host
был указан в конфигурационном файлеvalues-elma365.yaml
на шаге скачивание helm-чарта и конфигурационного файла.
В приведённом примере используется следующий адрес страницы входа в приложение ELMA365 Enterprise: http://example.ru
.
- В качестве логина и пароля укажите адрес электронной почты администратора и пароль, который использовали в конфигурационном файле
values-elma365.yaml
в параметрахbootstrapCompany.email
иbootstrapCompany.password
.
В приведённом примере используются:
- Логин — admin@mail.com;
- Пароль — test.
- Нажмите кнопку Войти в систему.
Откроется окно активации системы ELMA365.
- Активируйте систему. Подробнее об этом читайте в статье «Активация On-Premises».
Установка приложения ELMA365 редакции Enterprise успешно закончена.
Начало внимание
Сохраните конфигурационный файл values-elma365.yaml
для последующих обновлений.
Конец внимание
Шаг 5: Установка дополнений для приложения ELMA365 (опционально)
Под дополнениями для приложения ELMA365 понимаются компоненты, расширяющие функциональные и инфраструктурные возможности приложения ELMA365, включающие в себя:
- систему маршрутизации (Service Mesh) Linkerd;
- систему мониторинга Prometheus + Grafana;
- Descheduler;
- NodeLocal DNSCache;
- Kyverno;
- KEDA;
- сервис Аудит безопасности.
Устанавливаются дополнения по необходимости, с учётом имеющейся инфраструктуры. Принять решение о необходимости установки компонента дополнений помогут статьи раздела «Администрирование ELMA365 Enterprise».