В документе описана процедура кластерной установки Доски. Минимальной отказоустойчивой конфигурацией для установки системы считается кластер на 9 машин.
- Знание Linux на уровне системного администратора.
- Знание основ работы Систем управления базами данных (СУБД).
- Знание основ работы служб каталогов (Directory Service).
- Понимание основ контейнеризации.
- Знание основ работы сетей и сетевых протоколов.
- Знание основных инструментов для работы в командной строке: bash, awk, sed.
Что делать, если при входе в панель администратора появляется ошибка «Неверный пароль»
Как обновить лицензионный ключ
Установщик не может получить доступ до гипервизора
Настройка интеграции с Active Directory
Вне зависимости от размера кластера нужно соблюдать следующее соотношение виртуальных машин:
Минимальная отказоустойчивая конфигурация на 8 машин, которая будет описана в документе, выглядит таким образом:
- 1 ВМ отводится под мониторинг.
- 2 ВМ — под фронты.
- 2 ВМ — под базы данных.
- 3 ВМ — под хранилища.
Дистрибутив Доски и файл onpremise-deployer_linux должны находиться на гипервизоре, отведенном под мониторинг.
Перед установкой убедитесь, что инфраструктура соответствует требованиям к инфраструктуре Доски VK WorkSpace. Там описаны поддерживаемые операционные системы, требования к CPU, виртуализации, дискам и сети, протоколы и порты, DNS-записи, SSL-сертификаты, настройки ОС, SELinux, антивирус и синхронизация времени, а также то, что нужно подготовить до начала установки.
По вопросам создания сайзинг-модели специально для вашей компании обратитесь к представителям VK. Минимальные технические параметры для 8 машин:
- Установщик + мониторинг: 8 vCPU, 16 GB RAM, 570 GB SSD.
- Фронт №1: 16 vCPU, 40 GB RAM, 570 GB SSD.
- Фронт № 2: 16 vCPU, 40 GB RAM, 570 GB SSD.
- База данных №1: 16 vCPU, 20 GB RAM, 570 GB SSD.
- База данных №2: 16 vCPU, 20 GB RAM, 570 GB SSD.
- Хранилище №1: 8 vCPU, 16 GB RAM, 570 GB SSD.
- Хранилище №2: 8 vCPU, 16 GB RAM, 570 GB SSD.
- Хранилище №3: 8 vCPU, 16 GB RAM, 570 GB SSD.
Также потребуется минимум одна виртуальная машина под Control Plane ноду Kubernetes кластера. Если вы используете несколько дата центров для инсталляции, то для каждого понадобится минимум одна нода Control Plane. Причем количество машин под Control Plane должно быть нечетным.
Требования к дискам (SSD, HDD, IOPS, задержки) приведены в разделе Какие диски использовать для сервисов.
Весь процесс установки можно разделить на два этапа:
- В командной строке на сервере выполняются действия для запуска установщика.
- Последующая установка производится в специальном веб-интерфейсе.
При кластерной установке вам нужно создать пользователя deployer и скопировать ssh-ключи на всех виртуальных машинах в кластере. Необязательно добавлять один и тот же ssh-ключ, главное, чтобы ВМ с установщиком имела доступ по ssh к другим ВМ в кластере. Ниже алгоритм, который надо выполнить на ВМ с установщиком. На остальных машинах нужно создать пользователя deployer и скопировать ssh-ключи. /home/deployer/.ssh и /home/deployer/.ssh/authorized_keys должны быть с правами 600
-
В командной строке выполните последовательность команд:
Astra LinuxРЕД ОСsudo -i# Задаем пароль и создаем пользователя deployerDEPLOYER_PASSWORD=PASSWORDuseradd -G astra-admin -U -m -s /bin/bash deployerecho deployer:"$DEPLOYER_PASSWORD" | chpasswd# Игнорируем ошибку "НЕУДАЧНЫЙ ПАРОЛЬ: error loading dictionary"# в случае, если она появилась# Перелогиниваемся под пользователем deployersudo -i -u deployerssh-keygen -t rsa -N ""# Нажимаем Enter (согласиться с вариантом по умолчанию)# Копируем ssh-ключ в нужную директориюcat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keyschmod 600 /home/deployer/.ssh/authorized_keys# Опционально: проверяем, что сами к себе можем зайти без пароляssh deployer@localhostexit -
Выполните команду
sudo visudo. -
В файле
/etc/sudoersуберите # в начале следующей строки:Astra LinuxРЕД ОС# %astra-admin ALL=(ALL) NOPASSWD: ALL -
Выйдите из Vim c сохранением файла.
То же самое можно сделать с помощью редактора nano:
sudo EDITOR=nano visudo# Находим нужную строку, удаляем # в ее начале {params[number=1;position=prefix;anchor=nakhodim_nuzhnuyu_stroku_udalyaem_v_ee_nachale]}# Выходим из nano c сохранением изменений {params[number=2;position=prefix;anchor=vykhodim_iz_nano_c_sokhraneniem_izmeneniy]}
-
Распакуйте дистрибутив под пользователя deployer (в директорию
/home/deployer). Вы можете распаковать архив с дистрибутивом и в другую папку или создать подпапку. Нет разницы, каким архиватором пользоваться. Ниже приведен пример для unzip:Astra LinuxРЕД ОС# Если на машину не установлен unzip, скачиваем его:sudo apt-get install unzipexport UNZIP_DISABLE_ZIPBOMB_DETECTION=trueunzip -o <имя_архива> -
Если при создании пользователя вы следовали инструкциям из Шага 1, то вам не нужно создавать директорию `/home/deployer', она уже создана.
mkdir -p /home/deployercd /home/deployer -
Распакуйте основной архив deployer.tar:
tar -xf deployer.tar -
Создайте директорию для статики и распакуйте архив:
tar -xf static.tar.gz -
Подготовьте Docker-репозиторий
cp registry/mail/dockerRepo.tar source/ -
Скопируйте файлы md5:
cp registry/mail/dockerRepo.md5 source/
InfraKit входит в состав дистрибутива. Отдельно скачивать его не нужно. После распаковки дистрибутива на сервере, где будет запускаться установщик, файлы InfraKit расположены по следующим путям:
- Запускаемый файл:
/home/deployer/configs/infrakit/infrakit-bin - Файл конфигурации:
/home/deployer/configs/infrakit/project-spec.yaml
Чтобы запустить проверку:
-
Откройте файл
/home/deployer/configs/infrakit/project-spec.yamlи настройте параметры подключения к серверам в секцииhostsв простом или расширенном формате. Подробнее смотрите в разделе Форматы описания хостов. -
Выполните команду на сервере с распакованным дистрибутивом, заменив <IP_адрес_сервера> на внешний IP-адрес этого сервера:
/home/deployer/configs/infrakit/infrakit-bin --project-specific /home/deployer/configs/infrakit/project-spec.yaml --infrakit.bind 0.0.0.0:5555 --infrakit.url <IP_адрес_сервера> -
После завершения проверок отчет выводится в консоль. В нем указан статус каждой проверки и описание ошибок при их возникновении.
InfraKit проводит следующие проверки:
Название проверки | Что проверяется |
|---|---|
Проверка ОС | Дистрибутив, версия ядра и параметры ядра |
Проверка CPU | Архитектура, количество ядер, частота, наличие обязательных инструкций |
Проверка памяти | Общий объем и характеристики оперативной памяти |
Проверка гипертрейдинга | Состояние Hyper-Threading на процессоре |
Проверка виртуализации | Тип виртуализации (KVM, VMware и др.) |
Проверка SSH доступа | Возможность входа по SSH-ключу |
Проверка sudo без пароля | Возможность выполнения команд sudo без ввода пароля |
Проверка SELinux | Статус SELinux (включен/выключен) |
Проверка места на диске | Размеры и параметры файловых систем |
Проверка IOPS | Производительность дисковой подсистемы |
Проверка портов | Доступность и состояние обязательных портов |
Проверка DNS | DNS-серверы и записи |
Проверка tuned | Активный профиль tuned |
Проверка swap | Наличие и состояние swap |
Дополнительная информация о работе с InfraKit и расшифровке его отчетов представлена в разделе Проверки инфраструктуры.
Для корректной работы установщика и почтовой системы в настройках SSH на всех машинах должен быть разрешен TCP Forwarding.
Чтобы изменить настройку TCP Forwarding, нужно в файле /etc/ssh/sshd_config установить следующее значение:
AllowTcpForwarding yes
Установщик onpremise-deployer_linux рекомендуется запускать как сервис. При таком запуске не придется прибегать к дополнительным мерам (screen, tmux, nohup), позволяющим установщику продолжить работу в случае потери соединения по SSH.
Чтобы запустить установщик как сервис, выполните команду (подходит для Astra Linux и РЕД ОС):
sudo ./onpremise-deployer_linux -concurInstallLimit 5 \-serviceEnable -serviceMake -serviceUser deployer
По умолчанию выставлен лимит в 5 потоков, при необходимости вы можете увеличить количество потоков до 10, однако это увеличит и нагрузку на систему. Использование более чем 10 потоков не рекомендуется.
Ответ в случае успешного запуска установщика выглядит следующим образом:
deployer.service was added/updatessee status: <systemctl status deployer.service>can`t restart rsyslog services: [exit status 5]OUT: Failed to restart rsyslog.service: Unit rsyslog.service not found.deployer.service was enable and startedsee status: <systemctl status deployer.service>
Если веб-интерфейс не открывается по адресу http://server-ip-address:8888, то проверьте журналы:
journalctl -u deployer
И убедитесь, что порт 8888 слушают:
ss -lanp|grep :8888
-
Перейдите в веб-интерфейс установщика, в адресной строке браузера укажите адрес:
http://server-ip-address:8888. Если перейти по этому адресу не удается, убедитесь, что firewall был отключен. -
На стартовой странице нажмите на кнопку Установить.
-
Введите лицензионный ключ или укажите путь к файлу лицензии .lic.
-
Нажмите кнопку Сохранить.
-
Нажмите на кнопку Далее.
Информацию о том, как обновить лицензионный ключ или проверить сроки действия лицензий по продуктам VK WorkSpace, вы сможете найти в разделе с дополнительной документаци.
-
Включите флаг Доска VK WorkSpace.
-
Нажмите на кнопку Далее.
-
Включите нужные вам компоненты в разделе Администрирование.
ПродуктОписаниеАутентификация v26.2.0Обязательный продукт. Настройка способов входа и защиты аккаунтовАутентификация v26.2.0. Единый вход (SSO)Вход в систему через внешний сервис идентификации (IdP)Аутентификация v26.2.0. Вход через KerberosВход через Kerberos для пользователей корпоративной сетиВход через Kerberos. Blitz (внешний)BetaВход через Kerberos. Keycloak (внутри инсталляции) v17.0.1Вход через Kerberos. Keycloak (внешний)Аутентификация v26.2.0. Двухфакторная аутентификацияДополнительная проверка личности при входеДвухфакторная аутентификация. Коды подтверждения в VK WorkSpaceПолучение кодов подтверждения в VK WorkSpace при входе в системуАудит действий пользователяСервисы записи и чтения действий пользователей, хранилище действий пользователей (ScyllaDB)Аудит действий пользователя. Дублирование действий пользователей во внешние хранилищаНужно, чтобы хранить историю операций пользователей отдельно от почтовой системыСистема BI-аналитикиBetaСистема BI-аналитики. Kafka внутри инсталляции16 GB RAM, 8 vCPUКонсолидация серверов TarantoolПереключает тарантулы выбранных групп на консолидированныеБазы ДанныхВключение обратной совместимости с версиями VK WorkSpace для определенных сервисов, ранее поддерживающих только работу с MySQL.Базы Данных. Использовать MySQLИнструменты разработкиВключает дополнительные сервисы для тестирования системы, например, генерирование аккаунтовПоддержка Российских криптографических стандартов (ГОСТ TLS)Beta. Позволяет VK WorkSpace работать с российскими криптографическими стандартами: ГОСТ Р 34.12-2015 (шифрование) и ГОСТ Р 34.10-2012 (электронные подписи). Это необходимо для обеспечения безопасного соединенияСистема групповых политикBetaСистема групповых политик. Kafka внутри инсталляции16 GB RAM, 8 vCPUВстроенное хранилище образов контейнеровХранения образов контейнеров почтовой системы внутри вашей инфраструктурыVK KubernetesBeta. Возможность развертывания в среде контейнеризации KubernetesРезервное копирование (бэкап)Средства резервного копирования данных диска, почты, календарей, профилей пользователей и адресных книгМониторингНабор сервисов, обеспечивающих хранение метрик сервисов в базе данных Prometheus и визуализацию данных с помощью GrafanaМониторинг. Экспортер метрик из Victoria Metrics в ZabbixСервис, обеспечивающий отправку данных из Victoria Metrics и Node Exporter в ZabbixСбор и отправка метрикСборщики и трансляторы Graphite и Prometheus-метрикПрогноз и контроль объема почтового хранилищаBeta. Мониторинг заполнения хранилища почтыИнтеграция с редактором «МойОфис» по протоколу WOPIОтменить проверку контейнеров OneDB после запускаРедактор «Р7-Офис» внутри инсталляцииПозволяет использовать встроенный в VK WorkSpace редактор «Р7-Офис». Требует дополнительных ресурсов системыИнтеграция с редактором «Р7-Офис» по протоколу WOPIАудит действий пользователя (облегченная версия)Сервисы записи и чтения действий пользователей, хранилище действий пользователей (PostgreSQL)Аудит действий пользователя (облегченная версия). Дублирование действий пользователей во внешние хранилищаНужно, чтобы хранить историю операций пользователей отдельно от почтовой системыЯдро объектного хранилища S3Обязательный продукт. Сервисы, обеспечивающие хранение любых неструктурированных данных по протоколу S3Ядро объектного хранилища S3. Ядро распределенного файлового хранилищаОбязательный продукт. Отвечает за логику распределения данных по узлам, целостность и отказоустойчивость хранилищаИнтеграция почты с мессенджером VK WorkSpace -
Включите продукты VK Kubernetes и Логирование. Логирование позволяет сохранять историю логов пода, но потребуется больше дискового пространства.

-
Нажмите на кнопку Далее.
Переключитесь на вкладку Ручная настройка. Ниже описано, как добавить одну из worker-машин и как добавить Control Plane ноду.
Чтобы добавить worker-ноду:
-
Нажмите на кнопку Добавить.
-
Заполните поля:
-
IP-адрес — адрес машины, на которую производится установка.
-
Имя сервера — укажите имя сервера (гипервизора) или оставьте поле пустым. В случае если вы оставите поле незаполненным, имя гипервизора будет взято из
hostname -sи добавится автоматически. В документации будет использовано имя hypervisor1. -
Имя пользователя — укажите имя того пользователя, под которым запущен установщик. В рассматриваемом примере это пользователь deployer.
-
-
Заполните поле Метки:
-
Напротив server, в выпадающем меню выберите опцию worker.
-
Напротив DC укажите любое название дата-центра.
-
Напротив project выберите опцию mail.
-
Для машины отведенной под мониторинг напротив type выберите: monitoring и registry. Для всех остальных машин укажите одну опцию type соответствующую роли машины: storage, database, frontend.
-
-
Оставьте чекбокс Сервер во внешней (dmz) зоне пустым.
-
После заполнения полей нажмите на кнопку Добавить сервер — гипервизор отобразится в веб-интерфейсе установщика.
-
Аналогичным образом добавьте еще 6 гипервизоров:
- 2 — под фронты,
- 1 — под базы данных,
- 3 — под хранилища.
-
Добавьте ноду Control Plane. Ее рекомендуется устанавливать на отдельную виртуальную машину. Но она может быть установлена на гипервизор отведенный под базы данных.
-
Если нода Control Plane будет установлена на ВМ под базы данных, то при добавлении гипервизора, в поле Метки, напротив server укажите опцию control-plane.

-
Нажмите Далее внизу страницы.
В открывшемся окне нажмите Запустить проверки. Будут выполнены следующие проверки:
- Проверка ОС, дистрибутива и параметры ядра.
- Проверка архитектуры CPU, количества ядер и обязательных фич.
- Проверка общего объема и характеристик оперативной памяти.
- Проверка размеров и параметров файловых систем.
- Проверка производительности дисковой подсистемы по IOPS.
- Проверка доступности и состояния обязательных портов.
- Проверка DNS-серверов и записей.
- Проверка активного tuned профиля.
- Проверка наличия и состояния swap.
После успешного выполнения всех проверок нажмите Далее.
Чтобы настроить Kubernetes кластер перейдите в раздел Настройки → Kubernetes. Или по адресу http://server-ip-address:8888/config/main/k8s/commonTab, если оно не откроется автоматически.
В разделе Общие настройки укажите:
- Режим маршрутизации: VXLAN.
- Namespace по умолчанию — пространство имен, в котором будут работать сервисы Доски.
- Домен в кластере K8s.
- Использовать WG — установщик самостоятельно установит и настроит WireGuard на серверах на шаге
enable_hybrid_bgp. - Tunnel CIDR — диапазон адресов для интерфейсов WireGuard или
tunl0. - Версия Kubernetes.

Заполните поля в разделе Настройки кластеров. Пример заполнения полей для трех кластеров:

Подробную информацию о создании доменных имен вы найдете в разделе DNS-записи.
На вкладке Доменные имена необходимо заполнить все поля:
- Название вашей компании — введите название компании, которое будет отображаться в интерфейсе Доски.
- Сайт вашей компании — укажите сайт вашей компании.
- Основной домен для сервисов — в поле необходимо указать ранее созданный Основной домен для Доски.
- Домен для облачных хранилищ — в поле введите ранее созданный Домен для облачных хранилищ.
Когда все поля будут заполнены, нажмите на кнопку Сохранить для перехода к следующему шагу.

После сохранения доменных имен появятся ошибки. Они пропадут после добавления SSL-сертификатов на следующем шаге.
-
Нажмите на кнопку Добавить сертификат под заголовком SSL-сертификаты.
-
В открывшейся форме введите сертификат и ключ. Их необходимо указать полностью, включая:
-----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----и-----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----. -
Кликните по кнопке Сохранить.
Есть второй вариант:
- Нажмите на кнопку Выбрать файл.
- Укажите путь к файлу с сертификатом .crt.
- Укажите путь к файлу с ключом .key.
- Кликните по кнопке Сохранить.
Если все верно, в интерфейсе не будет отображаться ошибок и красной подсветки. Нажмите на зеленую кнопку Далее.

Чтобы установить гипервизоры и Kubernetes кластер, запустите автоматическую установку.
На изображении ниже приведен пример того, как выглядит веб-интерфейс установщика после завершения установки всех гипервизоров.

Если на гипервизорах есть шаги, помеченные серым или желтым цветом, то запустите автоматическую установку еще раз.
В релизе 26.3 секреты из main.yaml хранятся в vault — специализированном хранилище секретов от HashiCorp. Это хранилище типа «ключ-значение», данные в котором хранятся в зашифрованном виде. Для отказоустойчивости несколько инстансов vault объединяются в кластер по алгоритму распределенного консенсуса (RAFT).
Для начала работы с хранилищем его необходимо инициализировать: при инициализации указывается, сколько ключей для разблокировки (unseal keys) сгенерировать и сколько из них требовать для распечатки. Инициализация возвращает токен суперпользователя (rootToken) и ключи для распечатки (unseal keys), которые необходимы для дальнейшей работы с хранилищем.
Каждый перезапуск vault приводит его в состояние «запечатан» (sealed), и его надо распечатать (unseal).
Пример работы с ключами
Есть 10 доверенных сотрудников, при создании хранилища мы создаем 10 ключей и раздаем каждому сотруднику по одному ключу. Чтобы распечатать хранилище, будем требовать 3 ключа. Поэтому, когда нужно будет распечатать vault, нам потребуется 3 сотрудника, чтобы его распечатать.
Чтобы добавить и инициализировать хранилище:
-
Нажмите кнопку Добавить внизу главной страницы веб-интерфейса установщика.
-
Выберите опцию Хранилище секретов.
-
Выберите контейнер vault с помощью чекбокса.
-
В списке гипервизоров отметьте гипервизоры, на которых будут размещены инстансы vault.
-
Нажмите на кнопку Добавить.
-
Запустите автоматическую установку — после ее завершения инстансы vault будут запущены.
-
Перейдите в раздел Обслуживание -> Хранилище секретов или по адресу
http://server-ip-address:8888/service/vault. -
Если vault устанавливается впервые, нажмите кнопку Инициализировать Хранилище и задайте параметры инициализации:
- Всего ключей для распечатывания — сколько ключей сгенерировать.
- Минимум ключей для распечатывания — сколько ключей потребуется ввести для распечатки (unseal) хранилища. Значение не должно превышать общее количество ключей.
- Сохранить ключи в Deployer — включите опцию, чтобы установщик сохранил ключи и мог распечатывать хранилище в автоматическом режиме.
-
После инициализации в веб-интерфейсе отобразятся ключи для распечатки и токен суперпользователя. Сохраните эту информацию.
При инициализации установщик автоматически распечатает хранилище. Если вы обновляете инсталляцию с версии 26.2.3, миграция старых секретов из main.yaml произойдет автоматически.
Распечатка хранилища
Если при инициализации вы включили опцию Сохранить ключи в Deployer, установщик будет автоматически распечатывать хранилище при каждом своем перезапуске и запуске задачи up_container. В этом случае ключи для распечатывания сохраняются на машине с установщиком в файле /home/deployer/workmail/.secStoreKeys.yaml. Если установщику не удалось распечатать хранилище, установка будет заблокирована.
Чтобы распечатать хранилище вручную:
- Перейдите на страницу
http://server-ip-address:8888/service/vault. - В блоке Распаковка Хранилища секретов введите ключи, полученные при инициализации.
- Нажмите кнопку Распаковать (unseal).
В кластерной установке инициализация выполняется только на одном инстансе vault — остальные инстансы подключатся к нему и инициализируются самостоятельно. Распечатка выполняется на каждом инстансе.
Проверка состояния хранилища
На странице http://server-ip-address:8888/service/vault отображается состояние каждого инстанса vault: запущен ли он, инициализирован, запечатан или распечатан, готов ли к работе. Также отображаются «Количество ключей для распечатывания», «Количество необходимых секретов» и «Количество доступных секретов» — последние два значения должны совпадать.
Инстанс готов к работе, когда он запущен, инициализирован и распечатан, а количество доступных секретов совпадает с количеством необходимых.
Установщик автоматически проверяет актуальность секретов при каждом перезапуске и распечатке хранилища и при необходимости мигрирует или добавляет их.
Кликните по значку
и перейдите в раздел Описание сервисов, чтобы посмотреть развернутую информацию о назначении ролей, их дублируемости и зависимостях. В этом же выпадающем меню вы найдете дополнительную документацию, сможете включить или выключить продукты (внутри раздела Продукты) и обновить лицензионный ключ.
По завершении установки всех гипервизоров можно приступать к распределению и генерации подов.
В нижней части экрана выберите Добавить → Несколько подов.
Откроется окно выбора ролей.

При распределении ролей нужно соблюдать такой порядок:
- Хранилища + raft
- xtaz
- Базы данных
- Мониторинг
- Почтовый транспорт
- API
- Все, что осталось (опционально)
Для выбора ролей используйте поле Теги в качестве фильтра.
В разделе формируются дисковые пары для гипервизоров-хранилищ. Разделение на дисковые пары происходит автоматически, если вы не подключали дополнительные диски. В таком случае можно переходить в настройке Mescalito, описанной в следующем шаге.
Под дисковой парой подразумеваются связанные разделы дисков, которые размещены на двух разных гипервизорах. Для повышения отказоустойчивости на дисковую пару записываются одни и те же данные.
Ниже описана процедура ручного распределения дисковых пар. Дисковые пары нужно распределять вручную, если вы подключали дополнителные диски.
Минимальная отказоустойчивая конфигурация состоит из трех машин, на каждой из которых по 2 дисковых раздела:
- Диск хранилища 1 разделен на 2 части.
- Диск хранилища 2 разделен на 2 части.
- Диск хранилища 3 разделен на 2 части.
Всего 6 разделов дисков (2 на одном гипервизоре, 2 — на втором, еще 2 — на третьем).
При такой конфигурации:
- Всегда есть пара на запись.
- Остальные пары доступны для чтения.
При сборке хранилищ дисковые пары объединяются в «логические треугольники». Объединение происходит по принципу: 1-2, 2-3, 3-1.
В списке слева доступные хранилища будут отмечены восклицательными знаками. Нужно перейти на вкладку каждого хранилища и сформировать дисковые пары.

Чтобы добавить дисковые пары вручную:
- Нажмите на кнопку Добавить.
- В выпадающем меню выберите контроллер и устройство для Диска 1 первой пары.
- Выберите контроллер и устройство для Диска 2 первой пары.
- Повторите шаги 2-3 еще для двух пар.
На изображении ниже приведен пример для хранилища zepto_skel:

Для обеспечения отказоустойчивости в разделе уже заданы автоматические настройки кластеров хранилищ писем.

-
Обработчики писем (mescalito) — специальные процессы внутри контейнеров stm. Задача обработчика — собрать письмо из частей, находящихся в разных хранилищах.
-
Хранилища индексов (tarantool xtaz) — хранилища «горячих» данных почтовых ящиков.
Существует 2 типа ящиков:
- Сервисный — admin@admin.qdit (администраторы Доски).
- Корпоративный — все остальные ящики системы, которые администрируются в
biz.<домен>.
Чтобы обеспечить отказоустойчивость для каждого кластера необходимо назначать по 2-3 обработчика, которые находятся на разных машинах или в разных дата-центрах.
Контейнеры stm устанавливаются на каждый гипервизор, поэтому количество обработчиков равно количеству машин, отведенных под хранилища. При необходимости могут быть сгенерированы дополнительные контейнеры stm вручную.
Раздел актуален для ситуаций, когда были подключены дополнительные диски.
Необходимый набор томов для контейнеров хранилища выдается в виде набора записей для /etc/fstab.
Отредактировать fstab и смонтировать разделы нужно самостоятельно в консоли. Монтировать рекомендуется по UUID.
Ниже для примера приведен скриншот с одного из наших тестовых стендов.

Пример команд для монтирования разделов:
vi /etc/fstab# Вставляем строчки, скопированные из веб-интерфейса установщика. {params[number=3;position=prefix;anchor=vstavlyaem_strochki_skopirovannye_iz_veb_interfeysa_ustanovshchika]}# Сохраняем изменения. {params[number=4;position=prefix;anchor=sokhranyaem_izmeneniya]}mount -a# Получаем набор предупреждений <путь> mount point does not exist {params[number=5;position=prefix;anchor=poluchaem_nabor_preduprezhdeniy_put_mount_point_does_not_exist]}mkdir -p <путь># Повторяем для всех путей {params[number=6;position=prefix;anchor=povtoryaem_dlya_vsekh_putey]}mount -a
Настройка в этом разделе актуальна только для очень крупных инсталляций. В большинстве случаев достаточно настроек по умолчанию, и можно перейти к следующему шагу с помощью кнопки Далее.
Чтобы добавить более одного кластера, потребуется сгенерировать дополнительные контейнеры.

Чтобы добавить кластер:
- Нажмите кнопку Добавить в первой строке, отмеченной красным.
- Нажмите кнопку Добавить контейнер БД. В зависимости от типа базы данных может быть добавлен один или два контейнера.
- Сохраните изменения.
- Повторите шаги 1-4 для каждой строки, отмеченной красным.
После добавления всех кластеров появится возможность перейти к следующему шагу с помощью кнопки Далее.

В разделе выполняются настройки различных компонентов системы.

Выберите нужный домен и нажмите на кнопку редактирования. После включения флага Ограничить доступ к домену появится раздел с более детальными настройками.
Ограничить доступ к домену — если включен только этот флаг, в поле ниже нужно будет ввести IP/подсети, которым будет разрешен доступ к домену. Также вы можете добавить комментарии, если это необходимо.

Режим запрета — запрещать следующим IP/подсетям — если включены оба флага (ограничение доступа и режим запрета), доступ к доменам будет запрещен IP/подсетям, введенным в поле.
Не забудьте повторить шаги на гипервизоре (нужные шаги уже отмечены желтым). Также можно нажать на кнопку Play в общей строке состояния. Для этого перейдите к списку шагов, кликнув по логотипу в левом верхнем углу веб-интерфейса.
Чтобы начать настройку, нажмите кнопку редактирования
.

Административные домены — с помощью кнопки Добавить по одному введите домены (до знака @), которым нужно выдать максимальные права.
Количество дней перед удалением пользователя — количество дней, через которое пользователь будет удален из Доски. Изменение настройки по умолчанию актуально при одновременном использовании Доски c Active directory. По умолчанию выставлен срок 5 дней, то есть пользователь будет удален из Доски через 5 дней после его удаления из AD.
Размер облака пользователя по умолчанию (Мб) — при необходимости ограничьте максимальный размер облака для каждого пользователя.
Не проверять актуальность включенного функционала (фич) — при включенном флаге установщик будет пропускать шаг bizf → addBizFeatures.
Общие переменные окружения для всех сервисов панели администрирования — с помощью кнопки Добавить вы можете ввести имя и значение переменных, которые применятся к ролям bizf, biz-celery-worker-* и biz-celery-beat. Вам не нужно будет каждый раз отдельно для всех ролей прописывать переменные, достаточно добавить их в общие переменные окружения.
Если вы используете прокси-сервер при подключении клиентов к системе VK WorkSpace, включите флаг Перед VK WorkSpace есть прокси-сервер, чтобы контейнер, отвечающий за HTTPS-соединение, мог принимать трафик без шифрования.

Список IP прокси-серверов — введите в поле список IP-адресов, с которых Доска будет принимать заголовки с оригинальными IP клиента и оригинальным протоколом подключения.
HTTP-заголовок прокси с оригинальным IP клиента — добавьте в поле заголовок прокси, который передает реальный IP-адрес клиента, иначе сервис будет работать некорректно.
HTTP-заголовок прокси с оригинальным протоколом подключения клиента — для корректной работы сервисов введите заголовок оригинального протокола подключения.
В блоке будут отображаться интеграции, которые вы включили на этапе выбора продуктов и опций (настройки интеграций могут также находиться в верхнем меню).
Интеграция с Keycloak для SSO-авторизации — в документе содержится инструкция по настройке интеграции с сервисом SSO-авторизации.
Настроить дублирование действий пользователей во внешние хранилища
В разделе производится настройка кастомных переменных Панели администратора.
Чтобы добавить кастомную переменную:
-
Нажмите на иконку
и кнопку Добавить. -
В выпадающем меню выберите название переменной.
-
Введите значение переменной. Значение переменной должно быть введено корректно, иначе установщик не позволит создать переменную.
-
Нажмите на кнопку Сохранить.
-
Нажмите на кнопку Далее для перехода к следующему шагу.
-
В веб-интерфейсе установщика Панели администратора кликните по иконке
рядом c общей строкой состояния в верхней части экрана. -
Подтвердите запуск автоматической установки, нажав на кнопку Запустить.

В зависимости от этапа установки будет меняться цвет индикатора:
- Серый — в ожидании начала генерации.
- Синий — в процессе генерации.
- Желтый — шаг будет повторен (автоматически).
- Красный — ошибка.
-
Ожидайте завершения установки. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop.
Если в процессе установки и настройки системы происходят изменения конфигурации, некоторые задачи могут потребовать повторного выполнения.
Для повторного запуска необходимо нажать на иконку
в общей строке состояния в верхней части экрана или рядом с названием конкретного контейнера.
Когда установка Панели администратора будет завершена, соответствующий статус отобразится в строке состояния.
-
Нажмите на кнопку Далее в правом верхнем углу.

-
Введите имя домена и нажмите на кнопку Добавить.

Домен считается подтвержденным после добавления в Панель администратора.
В адресную строку скопируйте адрес Панели администратора и введите данные:
- Имя пользователя — admin@admin.qdit.
- Пароль находится в файле — bizOwner.pass, для его просмотра введите в консоли команду:
cat <путь до директории с установщиком>/bizOwner.pass.
Если логин и пароль были введены правильно, вы попадете в Панель администратора.
Если вы планируете использовать несколько доменов, добавьте их с помощью кнопки Добавить домен:
-
Перезапуск установщика:
sudo systemctl restart deployer -
Логи установщика:
sudo journalctl -fu deployer -
Список запущенных подов:
kubectl get pods -n <namespace>Добавьте флаг
-o wide, чтобы увидеть, на каких нодах размещены поды. -
Список подов, которые не перешли в состояние
Running:kubectl get pods -n <namespace> --field-selector=status.phase!=Running -
Состояние нод кластера:
kubectl get nodes -o wide -
Логи конкретного пода:
kubectl logs -n <namespace> <имя_пода>Полезные флаги:
-f— следить за логом в реальном времени.--tail=100— вывести только последние 100 строк.--previous— логи предыдущего запуска. Пригодится, если под успел перезапуститься и логи упавшего экземпляра уже не отдаются.-c <имя_контейнера>— выбрать контейнер, если в поде их несколько.
-
Подробная информация о поде — события, причина перезапуска, ограничения по ресурсам:
kubectl describe pod -n <namespace> <имя_пода> -
События в пространстве имен в порядке возникновения:
kubectl get events -n <namespace> --sort-by=.lastTimestamp -
Консоль внутри пода:
kubectl exec -it -n <namespace> <имя_пода> -- bash -
Перезапуск пода:
kubectl delete pod -n <namespace> <имя_пода> -
Перезапуск всех подов сервиса:
kubectl rollout restart -n <namespace> deployment/<имя_сервиса>kubectl rollout restart -n <namespace> statefulset/<имя_сервиса>
Технический писатель: Груздев Никита