<< Click to Display Table of Contents >> Администрирование (Linux) > Расширенная установка > Развертывание системы в Kubernetes Порядок развертывания |
![]() ![]() ![]() |
1.Добавьте компоненты системы Directum RX и создайте конфигурационный файл config.yml.
3.Настройте параметры в конфигурационном файле config.yml для работы системы в Kubernetes.
4.Запустите сервисы системы с помощью чартов (Helm Charts) и опубликуйте стандартную прикладную разработку Directum RX.
5.Установите решения и веб-справку, если планируется их использовать.
Добавление компонентов и создание конфигурационного файла
Для добавления компонентов и генерации конфигурационного файла config.yml используется инструмент Directum Launcher. Развертывать систему на этом этапе не нужно. Инструмент используется только для заполнения настроек и генерации конфигурационного файла.
На узле администрирования:
1.В службе поддержки Directum RX запросите доступ к репозиторию с docker-образами.
2.Архив с Directum Launcher распакуйте в локальную папку на сервере.
3.В корень папки скопируйте архивы компонентов в зависимости от используемой ОС:
•Platform.zip или Platform.tar.gz – веб-сервер и сервисы Directum RX;
•DirectumRX.zip или DirectumRX.tar.gz – набор стандартных шаблонов документов, утилита RxCmd и стандартная прикладная разработка Directum RX.
4.Запустите Directum Launcher.
5.На странице Развертывание убедитесь, что выбран режим Установка, и заполните настройки веб-сервера.
При заполнении полей укажите:
Протокол. Оставьте в поле значение http. При необходимости протокол можно изменить на этапе конфигурирования настроек.
Сервер БД:
•в полях Пользователь и Пароль укажите данные пользователя сервера БД. Если пользователь еще не создан, это можно сделать позже, на этапе создания базы данных;
•оставьте пустыми поля Администратор и Пароль.
Прикладная разработка Directum RX. Проверьте, что флажок установлен.
Тип хранилища. для хранения содержимого версий документов (бинарных данных). Выберите значение из выпадающего списка:
•File – файловое хранилище;
•S3 – объектное хранилище. Если выбрано это значение, то заполните поля Адрес хранилища, Ключ доступа и Секретный ключ доступа данными, которые получили от провайдера.
6.Нажмите на кнопку Сохранить.
В результате сгенерируется конфигурационный файл config.yml. Путь до файла: <Папка с Directum Launcher>/etc/config.yml.
1.Задайте переменные окружения для пользователя, от имени которого будет создана база данных:
export CONNECTION_STRING_ADMIN_USERNAME=<Имя пользователя сервера БД>
export CONNECTION_STRING_ADMIN_PASSWORD=<Пароль>
set CONNECTION_STRING_ADMIN_USERNAME=<Имя пользователя сервера БД>
set CONNECTION_STRING_ADMIN_PASSWORD=<Пароль>
Где:
CONNECTION_STRING_ADMIN_USERNAME – имя пользователя сервера БД с правами администратора. Права администратора есть у пользователей, которые на сервере БД включены в роль sysadmin (для Microsoft SQL) или в роль с атрибутом superuser (для СУБД на основе PostgreSQL). Для повышения информационной безопасности не рекомендуется указывать стандартного пользователя: sa – для Microsoft SQL, postgres – для СУБД на основе PostgreSQL;
CONNECTION_STRING_ADMIN_PASSWORD – пароль пользователя сервера БД, указанного в переменной CONNECTION_STRING_ADMIN_USERNAME.
Переменные окружения хранятся только в текущей сессии командной строки, поэтому данные защищены от компрометации.
2.Перейдите в папку с Directum Launcher и выполните команду для создания базы данных:
./do.sh db up
do db up
1.Перейдите в папку с Directum Launcher и выполните команду для подготовки конфигурационного файла:
./do.sh platform prepare-k8s-config
do platform prepare-k8s-config
В результате выполнения:
•создается резервная копия конфигурационного файла;
•в config.yml добавляются секции для сервисов и их параметры;
•генерируется сертификат для проверки токена доступа к сервисам (Sungero data protection) и приводится к кодировке Base64.
2.Откройте на редактирование подготовленный конфигурационный файл config.yml. Путь до файла: <Папка с Directum Launcher>/etc/config.yml.
3.В секции global заполните параметры секции platform:
•registry – адрес репозитория, полученный от службы поддержки;
•services_port – порт для подключения к сервисам. Значение менять не рекомендуется;
•namespase – название пространства имен в кластере Kubernetes;
•create_namespace – признак того, что нужно создать новое пространство имен.
Пример настройки:
global:
platform:
registry: 'registry.example.ru'
services_port: 15672
namespace: default
create_namespace: false
При необходимости, например во время параллельной работы с разными проектами, вы можете использовать пространство имен, отличное от указанного в параметре namespase. Для этого при вызове команд для настройки и развертывания системы в кластере Kubernetes (k8s_install), примените ключ --namespace. В ключе укажите название пространства имен, которое нужно использовать.
Пример команды для запуска конвертации базы данных:
./do.sh platform k8s_install db_convert --namespace rx412
Примечание. Если применить команду без ключа --namespace, используется пространство имен, указанное в конфигурационном файле config.yml.
4.Если docker-образы хранятся в приватном репозитории, то укажите реквизиты для доступа к нему. Для этого в секции secrets задайте значения параметров для секции imageCredentials:
•registry – адрес репозитория;
•username – имя пользователя;
•password – пароль в кодировке base64.
Пример настройки:
k8s:
secrets:
imageCredentials:
registry: 'registry.host'
username: 'user'
password: 'BASE64PASSWORD'
5.В секции secrets в параметре bundle_certs укажите корневые и промежуточные сертификаты в кодировке base64.
Чтобы перевести сертификат в кодировку base64, выполните команду:
./do.sh tools to_base64 <файл сертификата> -> <путь до файла с результатом преобразования>
Пример команды:
./do.sh tools to_base64 ca-bunde.crt -> ca-bundle.txt
В результате преобразованный сертификат сохраняется в файл ca-bundle.txt.
Пример настройки:
k8s:
secrets:
bundle_certs:
ca-bundle.crt: 'BASE64CERT'
6.В секции services для секций StorageService и PreviewStorage в параметре storageSize задайте объем дискового пространства, необходимый для хранения документов и файлов предпросмотра соответственно. В секции SungeroWebClient задайте объем, необходимый для хранения веб-справки и файлов решений.
Также укажите значение в параметре storageClass – класс, который используется в Kubernetes.
ПРИМЕЧАНИЕ. Если вместо файлового хранилища используется объектное, то в секции StorageService не заполняйте параметры storageSize и storageClass.
Пример настройки:
k8s:
services:
SungeroWebClient:
storageClass: 'my storage'
storageSize: '10Gi'
StorageService:
storageClass: 'my storage'
storageSize: '100Gi'
PreviewStorage:
storageClass: 'my storage'
storageSize: '1Gi'
Запуск сервисов и публикация стандартной разработки
ВАЖНО. Для доступа к системе рекомендуется настроить защищенный протокол HTTPS. Протокол HTTP не рекомендуется использовать для удаленного доступа к системе Directum RX, так как в этом случае данные от клиентских приложений передаются к серверу по сети в открытом виде. HTTP допускается только для работы в локальной сети, например для тестирования системы.
1.Настройте работу системы по протоколу HTTPS. Подробнее см. в документации Kubernetes статью Ingress, раздел TLS.
Также вы можете настроить доступ по протоколу через конфигурационный файл config.yml. Так как возможны разные способы настройки, то по умолчанию TLS отключен.
1.Проверьте, что в секции secrets в параметре bundle_certs заполнены корневые и промежуточные сертификаты. 2.В секции k8s для параметра tls в параметре enabled укажите значение true. 2.В секции k8s в параметре ingress_tls для сертификата SSL/TLS укажите ключи в кодировке base64: tls.crt – отрытый ключ; tls.key – закрытый ключ. |
2.Установите Helm Chart развертывания сервисов. Для этого перейдите в папку с Directum Launcher и выполните команду:
./do.sh platform k8s_install services-up
3.Проверьте доступность сайта по адресу, указанному в параметре host_fqdn в конфигурационном файле config.yml. Проверьте соединение с файловым хранилищем.
Если меняли протокол на HTTPS, то в карточке хранилища в поле Адрес сайта укажите этот же протокол для доступа к сервису хранилищ.
4.Опубликуйте стандартную прикладную разработку:
./do.sh rx install
do rx install
Если в результате публикации возникла ошибка, то:
1.Проверьте и при необходимости скорректируйте настройки:
•правильность указанного в config.yml протокола: HTTP или HTTPS;
•доступность файлового хранилища;
•доступность сервиса интеграции по URL, указанному в секции RxCmd конфигурационного файла config.yml.
2.Перепубликуйте разработку принудительно:
./do.sh rx install --force-install
do rx install --force-install
© Компания Directum, 2024 |