Настройка интеграции с кластерной инсталляцией панели администратора VK WorkSpace
Назначение документа
В документе описана настройка интеграции VK Teams версии 24.9 и выше и кластерной инсталляцией панели администратора VK WorkSpace версии 1.24. Документ предназначен для использования администраторами организации.
Внимание
Чтобы настроить интеграцию c VK Teams версии 24.9 и ниже, обратитесь к сотрудникам или партнерам компании VK.
Условно процесс настройки интеграции VK Teams с кластерной инсталляцией панели администратора можно разделить на несколько шагов:
-
Выполните настройки на стороне VK Teams.
-
Разверните кластерную инсталляцию панели администратора VK WorkSpace и интегрируйте ее с VK Teams.
-
Настройте интеграцию панели администратора с ActiveDirectory.
-
Выключите синхронизацию пользователей через сервис Keycloak.
После настройки интеграции пользователи VK Teams синхронизируются с ActiveDirectory через панель администратора. Поэтому, если у вас настроена интеграция VK Teams с ActiveDirectory, настройте интеграцию панели администратора с ActiveDirectory и после этого удалите LDAP-подключение VK Teams.
Подробное описание шагов представлено ниже.
Внимание
Для production-систем рекомендуется производить настройки во время технологического окна.
Все команды в консоли выполняются под пользователем root.
Дополнительная документация
Инструкция по установке VK Teams на одну виртуальную машину, Инструкция по установке кластера VK Teams
Инструкция по интеграции VK Teams с контроллером домена по протоколу LDAP — в инструкции описано управление параметрами синхронизации LDAP.
Настройка интеграции с Active Directory — в инструкции описана настройка интеграции панели администратора VK WorkSpace с Active Directory.
Что делать, если при входе в панель администратора появляется ошибка «Неверный пароль»
Управление структурой организаций — в инструкции описана работа со структурой организаций в панели администратора VK WorkSpace.
Развертывание и настройка сервисов групповых политик — в инструкции описаны шаги для развертывания и включения сервисов групповых политик.
Групповые политики — в инструкции описана работа с групповыми политиками в панели администратора VK WorkSpace.
Предварительные условия
-
Если у вас еще не установлен VK Teams, установите его, пропустив настойку синхронизации пользователей с LDAP-сервером.
-
Выпустите SSL-сертификат — в сертификате укажите домен, на котором будет расположена Панель администратора. Можно использовать SSL-сертификат на один домен. Требования к сертификату:
- CN — домен, на котором будет расположена Панель администратора.
- Расширение san не нужно.
- Тип DV (Domain Validation) — проверять только владение доменом.
extendedKeyUsage = serverAuth
.- Public Key — нужен.
-
Подготовьте почтовый домен вашей корпоративной электронной почты. Если у вас нет корпоративной почты, создайте ее.
-
Создайте домен Панели администратора.
Домен Панели администратора должен содержать поддомен biz, пример домена — biz.<ваш_домен>.ru.
Создайте A- или CNAME-запись для данного домена в DNS. Возможна как A-запись, так и CNAME-запись, в зависимости от того, где будет развернута Панель администратора. Необходима запись, которая будет указывать на сервер VK WorkSpace, остальное зависит от ваших текущих настроек и Nginx (если он есть). Например, вы можете указать biz.example.ru. как CNAME-запись к example.ru, если для вашего Nginx настроена маршрутизация запросов. Если нет, то стоит создать А-запись для Панели администратора.
-
Доступ к виртуальной машине, на которой установлен VK Teams.
-
Получите у представителя VK данные для разворачивания панели администратора VK WorkSpace:
- Ссылка на скачивание дистрибутива панели администратора VK WorkSpace.
- Пароль от архива с дистрибутивом.
- Лицензионный ключ.
-
Доступ к почтовому серверу по 25 порту, так как панель администратора VK WorkSpace использует протоколы SMTP, ESMTP.
Требования к администраторам
- Знание Linux на уровне системного администратора.
- Знание основ работы Систем управления базами данных (СУБД).
- Знание основ работы служб каталогов (Directory Service).
- Понимание основ контейнеризации.
- Знание основ работы сетей и сетевых протоколов.
- Знание основных инструментов для работы в командной строке: bash, awk, sed.
Схема тестового кластера
Вне зависимости от размера кластера нужно соблюдать следующее соотношение виртуальных машин:
Минимальная отказоустойчивая конфигурация на 6 машин, которая будет описана в документе, выглядит таким образом:
- 1 ВМ отводится под мониторинг;
- 2 ВМ — под фронты;
- 3 ВМ — под базы данных;
Дистрибутив и файл onpremise-deployer_linux
должны находиться на гипервизоре, отведенном под мониторинг.
Технические требования
Поддерживаемые операционные системы для установки панели администратора:
- Astra Linux SE Орел — версия 1.7.3;
- РЕД ОС — версия 7.3.2.
Версия ядра — 5.15; архитектура системы — x86_64.
Обновлять операционную систему можно только на поддерживаемую версию и только после консультации с представителем VK. Список поддерживаемых ОС может быть уточнен в рамках работ по индивидуальному проекту.
Пример настройки параметров ОС
Важно
Установка данных параметров возможна только после консультации с вашими системными администраторами.
Настройки sysctl:
kernel.pid_max=4194304
net.ipv4.tcp_tw_reuse=1
net.netfilter.nf_conntrack_tcp_timeout_time_wait=3
net.netfilter.nf_conntrack_tcp_timeout_fin_wait=5
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.netfilter.nf_conntrack_max = 4194304
net.ipv4.tcp_syncookies = 1
Настройка лимитов:
* hard nofile 1048576
* soft nofile 131072
* hard nproc 257053
* soft nproc 131072
root hard nofile 1048576
root soft nofile 262144
root hard nproc 514106
root soft nproc 262144
Дополнительные настройки для сертифицированной РЕД ОС 7.3
До установки панели администратора:
-
Внесите изменение в конфигурации
/etc/systemd/system.conf
: -
Установите следующие пакеты из репозитория РЕД ОС 7.3, поставляемого с операционной системой:
- docker-ce-cli-20.10.24-1.el7.x86_64
- docker-ce-rootless-extras-20.10.24-1.el7.x86_64
- docker-ce-20.10.24-1.el7.x86_64
- docker-ce-20.10.24-1.el7.i686
- docker-compose-2.29.2-1.el7.x86_64
- docker-compose-switch-1.0.5-1.el7.x86_64
Требования к ресурсам серверов
Минимальные технические параметры для 6 машин, если на инсталляции планируется включить функциональность групповых политик:
- Установщик + мониторинг: 8 vCPU, 16 GB RAM, 150 GB SSD;
- Фронт №1: 8 vCPU, 16 GB RAM, 100 GB SSD;
- Фронт № 2: 8 vCPU, 16 GB RAM, 100 GB SSD;
- База данных №1: 8 vCPU, 16 GB RAM, 50 GB SSD;
- База данных №2: 8 vCPU, 16 GB RAM, 50 GB SSD;
- База данных №3: 8 vCPU, 16 GB RAM, 50 GB SSD;
Внимание
По вопросам создания сайзинг-модели специально для вашей компании обратитесь к представителям VK.
Таблица совместимости
Технология | Версия |
---|---|
VK Teams | не старше двух последних версий |
Keycloak/OAuth | не старше версии 2.х |
Kerberos | 5 |
MySQL | 8.0.22 |
Примечание
Keycloak является внешним провайдером аутентификационной информации (proxy) и не выступает в качестве полноценной IDM системы.
Список портов для установки
Внимание
Чтобы обеспечить безопасность Почты на ваших серверах должны быть доступны только необходимые порты.
Для доступа к веб-интерфейсу: 80 (http), 443 (https). Для получения почты: 25 (SMTP). Вы должны сами определить с каких IP-адресов будут доступны порты.
Протокол | Порт | Служба/Контейнер | Описание службы/контейнера | Назначение порта | Кто обращается |
---|---|---|---|---|---|
TCP | 9091 | calico-node | Демон динамической маршрутизации | Сбор метрик prometheus | victoria-metrics |
TCP | 5000 | registry | Хранилище docker-образов | Подключение к сервису | Все машины инсталляции |
TCP | 2379 | infraetcd | etcd, которое хранит инфраструктурные данные, например настройки сети | Подключение клиентов (потребителей) | Все машины и контейнеры инсталляции |
TCP | 2380 | infraetcd | etcd, которое хранит инфраструктурные данные, например настройки сети | Общение между инстансами etcd | Другие infraetcd |
TCP | 4001 | infraetcd | etcd, которое хранит инфраструктурные данные, например настройки сети | Подключение клиентов (потребителей) | Все машины и контейнеры инсталляции |
TCP | 8080 | cadvisor | Инструмент снятия телеметрии с контейнеров | Сбор метрик prometheus | victoria-metrics |
TCP | 9100 | node-exporter | Инструмент снятия телеметрии с гипервизоров | Сбор метрик prometheus | victoria-metrics |
TCP | 2003 | carbclick | Сервис, который принимает метрики и передает их в clickhouse | Прием метрик | Любые контейнеры |
TCP | 8428 | victoria-metrics | Инструмент prometheus-подобного хранилища метрик | Подключение к хранилищу | vimana, Grafana |
TCP | 22 | sshd | Демон операционной системы, предоставляющий консоль пользователю | ssh подключения | Onpremise-deployer |
TCP | 8888 | onpremise-deployer | Приложения для установки и начальной настройки VK WorkSpace | Подключение администраторов | Администраторы |
UDP | 2003 | carbclick | Сервис, который принимает метрики и передает их в clickhouse | Прием метрик | Любые контейнеры |
1. Выполните настройки на стороне VK Teams
Шаг 1. Создайте токен biz-admin
-
На сервере VK Teams перейдите в конфигурационный файл /usr/local/etc/import_prismtokens.yaml:
-
В секции prismtokens создайте секцию biz-admin, как в примере ниже, и задайте токен в поле key:
prismtokens: biz-admin: methods: - _any ips: // список ip-адресов гипервизоров-фронтов Панели администратора - 192.0.2.1 - 192.0.2.2 akes: true key: <your_token>
Этот токен понадобится вам ниже.
-
Чтобы изменения вступили в силу, выполните команду:
При распределенной инсталляции VK Teams команда выполняется на одном из серверов.
Шаг 2. Откройте доступ в окружение администратора
Пропустите этот шаг, если не планируете создавать мини-аппы и управлять ими.
-
На сервере VK Teams перейдите в файл конфигурации /usr/local/nginx-im/confv2/conf.d/myteam-admin_allow_hosts.inc:
-
В поле allow вместо <real.mail.ip> укажите список IP-адресов гипервизоров-фронтов Панели администратора VK WorkSpace:
-
Чтобы изменения вступили в силу, выполните команду:
Шаг 3. Добавьте CN-группы администраторов
-
На сервере VK Teams перейдите в конфигурационный файл /usr/share/tarantool/extra_config/nomail-1/nomail-1_extra_conf.lua
-
В поле myteam-admin укажите CN-группы администраторов:
-
Чтобы изменения вступили в силу, выполните команду:
-
Проверить актуальные настройки можно командой:
Шаг 4. Создайте учетную запись с доступом в окружение администратора VK Teams
-
На сервере VK Teams в любой удобной папке создайте файл users.yaml и заполните его данными учетной записи (в примере ниже это admin@admin.qdit):
users: admin@admin.qdit: email: admin@admin.qdit firstName: admin lastName: admin attributes: memberOf: ["myteam-admin"] #член группы "myteam-admin" с доступом в окружение администратора
где memberOf: — название группы пользователей с доступом в окружение администратора.
Объект users имеет тип Hash. При использовании расширенного формата yaml-файла username должен совпадать с email. В примере выше это admin@admin.qdit.
-
После создания users.yaml выполните в консоли команду:
-
Получите adminSn и adminRid созданной учетной записи:
Значения rid и sn будут в выводе команды:
-
Перейдите в файл конфигурации myteam-admin.yml:
-
В секции mpop укажите адрес панели администратора, sn (adminSn) и rid (adminRid), полученные на предыдущем шаге:
Шаг 5. Настройте сервис Stentor
-
На сервере VK Teams перейдите в конфигурационный файл /usr/local/nginx-im/confv2/conf.d/stentor.conf:
-
В поле allow вместо <real.mail.ip> укажите IP-адреса гипервизоров-фронтов Панели администратора VK WorkSpace:
Шаг 6. Настройте отображение оргструктуры в клиентском приложении VK Teams
Пропустите этот шаг, если не планируете подключать оргструктуру в панели администратора VK WorkSpace.
-
На сервере VK Teams перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json:
-
Добавьте в секцию services – config:
"services": { "config": { "orgstructure": { // добавьте эту секцию, если пользуетесь функциональностью структуры организаций "external": false, "needs_auth": true, "new": true, "url": "https://webim.<domain-vkt>/webapps/orgstructure", "url-dark": "https://webim.<domain-vkt>/webapps/orgstructure" }, } }
-
Добавьте в секцию disposition:
"disposition": { "desktop": { "leftbar": [ "tasks", "calls", "orgstructure" // добавьте, если пользуетесь функциональностью структуры организаций ] }, "mobile": { "services": [ "discover" ], "tabs": [ "calls", "tasks", "orgstructure" // добавьте, если пользуетесь функциональностью структуры организаций ] } }
-
Перейдите в конфигурационный файл /usr/local/nginx-im/confv2/cond.d/c4.conf и добавьте после секции direct upload version секцию location:
location /files/ { set $original_script_uri $safe_uri; error_page 418 = @filesproxy; return 418; } location @filesproxy { rewrite ^/files(.*)$ $1; break; proxy_set_header Host files-c.myteaminternal; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-LB-Client-IP $remote_addr; # We have proxy enabled. In this case If-Mod.. is not passed to apache. This is fix. proxy_set_header If-Modified-Since $http_if_modified_since; # MNT-155052 - universal ID for ICQ proxy_set_header X-Req-Id $hostname_short:$connection_requests:$connection:$msec; proxy_set_header X-Scheme $scheme; proxy_set_header X-LB-Client-IP $remote_addr; proxy_set_header HTTP_X_SSL_OFFLOAD $is_ssl; proxy_set_header X-Custom-SSL-Offload $is_ssl; proxy_set_header X-Original-Host $host; proxy_set_header X-Script-URL "$original_script_uri"; proxy_pass http://files-c.myteaminternal; }
-
Проверьте конфигурацию Ngnix:
-
При отсутствии ошибок примените изменения:
Шаг 7. Пересоздайте pod админ-консоли
На сервере VK Teams выполните команду:
Актуальное значение pod ID можно получить с помощью команды:
2. Разверните панель администратора VK WorkSpace
Шаг 1. Создайте пользователя deployer
-
В командной строке на сервере панели администратора VK WorkSpace выполните последовательность команд:
-
Задайте пароль и создайте пользователя deployer:
Проигнорируйте ошибку "НЕУДАЧНЫЙ ПАРОЛЬ: error loading dictionary", если она появилась. -
Авторизуйтесь под пользователем deployer:
-
Нажмите на клавишу Enter (согласиться с вариантом по умолчанию).
-
Скопируйте ssh-ключ в нужную директорию:
-
Опционально: проверьте, что можно подключиться без пароля:
exit
-
Задайте пароль и создайте пользователя deployer:
-
Авторизуйтесь под пользователем deployer:
-
Нажимите на клавишу Enter (согласиться с вариантом по умолчанию).
-
Скопируйте ssh-ключ в нужную директорию:
-
Опционально: проверьте, что можно подключиться без пароля:
exit
Внимание
Вся дальнейшая установка будет производиться под созданным пользователем deployer. Если вы планируете устанавливать под другим пользователем, это необходимо учитывать при дальнейшей установке. Также пользователь должен иметь права администратора.
-
-
Выполните команду
sudo visudo
. -
В файле /etc/sudoers уберите # в начале следующей строки:
-
Выйдите из Vim c сохранением файла.
То же самое можно сделать с помощью редактора nano:
sudo EDITOR=nano visudo
# Находим нужную строку, удаляем # в ее начале
# Выходим из nano c сохранением изменений
Шаг 2. Распакуйте дистрибутив
Распакуйте дистрибутив под пользователя deployer (в директорию /home/deployer). Вы можете распаковать архив с дистрибутивом и в другую папку или создать подпапку.
Нет принципиальной разницы, каким архиватором пользоваться. Ниже приведен пример для unzip:
-
Если на машину не установлен unzip, скачайте его:
-
Распакуйте дистрибутив:
Внимание
После распаковки не удаляйте никакие файлы. По завершении установки допускается только удаление архива, из которого был распакован дистрибутив.
Шаг 3. Запустите установщик как сервис
Установщик onpremise-deployer_linux рекомендуется запускать как сервис. При таком запуске не придется прибегать к дополнительным мерам (screen, tmux, nohup), позволяющим установщику продолжить работу в случае потери соединения по SSH.
Чтобы запустить установщик как сервис, выполните команду (подходит для Astra Linux, РЕД ОС):
sudo ./onpremise-deployer_linux -concurInstallLimit 5 \
-serviceEnable -serviceMake -serviceUser deployer
По умолчанию выставлен лимит в 5 потоков, при необходимости вы можете увеличить количество потоков до 10, однако это увеличит и нагрузку на систему. Использование более чем 10 потоков не рекомендуется.
Ответ в случае успешного запуска установщика выглядит следующим образом:
The authenticity of host 'localhost (::1)' can't be established.
ED25519 key fingerprint is SHA256:g8siO32KUsRU9oC/MHro9WaTNKj4R+DkmVnVa7QsYCo.
This key is not known by any other names
# Введите "yes" и нажмите Enter, чтобы подтвердить подключение
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Примечание
Невозможность включения службы rsyslog не повлияет на корректность работы сервиса.
Шаг 4. Выберите вариант установки
Перейдите в веб-интерфейс установщика панели администратора по адресу http://server-ip-address:8888. Если перейти по этому адресу не удается, убедитесь, что firewall был отключен.
На стартовой странице нажмите на кнопку Установка.
Шаг 5. Выбор продуктов и опций
Включите флаг Административная панель.
В открывшемся списке выберите нужные вам компоненты:
Система групповых политик — если в дальнейшем планируется настраивать сервисы групповых политик.
Kafka внутри инсталляции — если при настройке групповых политик НЕ будет использован внешний сервис Kafka.
Интеграция с VK Teams — обязательный компонент.
Система мониторинга — опциональный компонент. Не используется совместно с компонентом Система сбора и отправки метрик.
Система сборка и отправки метрик — опциональный компонент. Не используется совместно с компонентом Система мониторинга.
Нажмите на кнопку Далее внизу страницы, чтобы перейти к следующему шагу.
Шаг 6. Добавьте гипервизоры
-
Нажмите на кнопку Добавить.
-
В выпадающем меню выберите Сервер:
Откроется окно добавления гипервизора:
-
Заполните поля:
-
Роль — hypervisor.
-
IP — адрес машины, на которую производится установка.
-
SSH-порт — стандартный для SSH, выбран по умолчанию, менять его не нужно.
-
Имя гипервизора — укажите имя гипервизора или оставьте поле пустым. В случае если вы оставите поле незаполненным, имя гипервизора будет взято из hostname -s и добавится автоматически. В документации будет использовано имя hypervisor1.
-
Имя пользователя — укажите имя того пользователя, под которым запущен установщик. В рассматриваемом примере это пользователь deployer.
-
Пароль — необходимо ввести пароль пользователя, под которым запущен установщик, если он был задан при создании.
-
-
Добавьте SSH-ключ (также можно оставить авторизацию по паролю):
-
В поле Приватный ключ выберите Добавить новый ключ:
-
В поле Имя ключа введите название ключа для его дальнейшей идентификации, например: deployerRSA.
-
Перейдите в консоль, выполните команду
cat ~/.ssh/id_rsa
и скопируйте ключ. -
Затем вставьте его в поле Приватный ключ. Его нужно указать полностью, включая:
-----BEGIN RSA PRIVATE KEY-----
и-----END RSA PRIVATE KEY-----
-
Поле Пароль ключа оставьте пустым.
-
Кликните по кнопке Сохранить.
-
-
При необходимости настройте дополнительные поля:
-
Data Center — в поле нужно указать дата-центр, на котором размещен гипервизор. Поле актуально и для инсталляций, размещенных в одном дата-центре. Все гипервизоры необходимо распределить по трем фактическим/условным дата-центрам.
-
Теги — для большей наглядности и простоты поиска вы можете присвоить гипервизорам теги в зависимости от их роли. Например: st1, st2, st3.
-
Пропустить проверку некритичных требований — если отметить чекбокс, будет пропущена проверка версии ядра и флагов процессора (sse2, avx). В большинстве случаев выбор чекбокса не требуется.
-
-
После заполнения полей нажмите на кнопку Добавить — гипервизор отобразится в веб-интерфейсе установщика.
Примечание
При добавлении сервера реализована проверка на наличие команд
tar, scp
и необходимых инструкций виртуализации на процессорах. Если при проверке они не будут найдены, то сервер не будет добавлен, а администратор получит сообщение об ошибке. -
Аналогичным образом добавьте еще 5 гипервизоров:
- 2 — под фронты,
- 3 — под базы данных,
-
Нажмите на зеленую кнопку Далее в правом верхнем углу для перехода к следующему шагу.
Шаг 7. Укажите настройки сети
Установщик автоматически вычисляет некоторые сетевые параметры. Эти параметры необходимо проверить и дополнить, если не все из них были определены.
-
Укажите DNS-сервер.
Внимание
Обязательно настройте NTP на виртуальной машине в соответствии с рекомендациями: для RedOS, для Astra Linux.
-
Убедитесь, что:
-
Подсеть, используемая Панелью администратора на серверах имеет доступ на 80 или 443 порт.
-
Подсеть, используемая внутри контейнеров полностью свободна, уникальна и принадлежит только панели администратора VK WorkSpace.
Примечание
Эта подсеть используется только для трафика между контейнерами внутри системы. Если автоматически вычисленная подсеть уникальна и не пересекается с другими подсетями заказчика, значения менять не нужно. По умолчанию используется 20 подсеть.
Поле MTU сети контейнеров заполняется автоматически. Если вы хотите изменить размер MTU, обратитесь к представителю VK.
Флаг НЕ использовать IP-in-IP и BIRD в большинстве случаев должен оставаться неактивным. Если на машине используется динамическая маршрутизация и необходимо включение опции, обратитесь к представителю VK.
-
-
Нажмите на кнопку Сохранить и перейдите к следующему шагу:
Шаг 8. Доменные имена
-
На вкладке Доменные имена нажмите на иконку
и укажите:
- Основной домен для сервисов — домен, созданный для Панели администратора выше.
- Домен? по которому будет доступен интерфейс администрирования — biz.<основной домен>.
Внимание
Для доменных имен нельзя использовать
etc/hosts
. -
Нажмите на кнопку Сохранить.
-
Нажмите на кнопку Добавить сертификат под заголовком SSL-сертификаты.
-
В открывшейся форме введите сертификат и ключ. Их необходимо указать полностью, включая:
-----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----
и
-----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----
. -
Кликните по кнопке Сохранить:
Есть второй вариант:
- Нажмите на кнопку Выбрать файл.
- Укажите путь к файлу с сертификатом .crt.
- Укажите путь к файлу с ключом .key.
- Кликните по кнопке Сохранить.
Примечание
Приватный ключ должен быть добавлен в открытом виде, без секретной фразы. Закодированный ключ отличается от открытого наличием слова ENCRYPTED:
BEGIN ENCRYPTED PRIVATE KEY
.
Если всё верно, в интерфейсе не будет отображаться ошибок и красной подсветки. Нажмите на зеленую кнопку Далее в правом верхнем углу.
Шаг 9. Запустите установку гипервизоров
Для начала установки необходимо перейти к списку гипервизоров — для этого нажмите на логотип AdminPanel.
Порядок установки гипервизоров важен, поскольку необходимо сформировать кластер etcd. Для кворума кластеру необходимо N/2+1 экземпляров etcd. В минимальной конфигурации узлы ectd должны быть установлены на три машины, две из которых должны быть постоянно доступны. В документе будет описан вариант установки etcd в минимальной конфигурации.
-
Перейдите в настройки гипервизора, отведенного под мониторинг. Вручную запустите шаги до upload_docker_repo включительно.
-
Вернитесь обратно к списку машин и перейдите в настройки первого гипервизора-стораджа.
-
Вручную запустите шаги до install_etcd включительно. По завершении шага первый узел etcd будет установлен.
-
Таким же способом установите etcd на остальные два гипервизора-стораджа.
- После того, как кластер etcd собран, запустите установку всех гипервизоров по порядку или общую автоматическую установку.
Внимание
Не рекомендуется запускать установку нескольких гипервизоров одновременно — это может привести к ошибкам.
На изображении ниже приведен пример того, как выглядит веб-интерфейс установщика после завершения установки всех гипервизоров.
Кликните по значку и перейдите в раздел Описание сервисов, чтобы посмотреть развернутую информацию о назначении ролей, их дублируемости, зависимостях и т.п. В этом же выпадающем меню вы найдете дополнительную документацию, сможете включить или выключить продукты (внутри раздела Продукты) и обновить лицензионный ключ.
Шаг 10. Распределите контейнеры по гипервизорам
По завершении установки всех гипервизоров можно приступать к распределению и генерации контейнеров.
В нижней части экрана выберите Добавить -> Несколько контейнеров.
Откроется окно выбора ролей.
При распределении ролей нужно соблюдать такой порядок:
- raft
- Базы данных
- Мониторинг
- API
- Все, что осталось (опционально)
Внимание
Порядок распределения ролей принципиально важен, при его нарушении вы столкнетесь с ошибками.
Для выбора ролей используйте поле Теги в качестве фильтра.
Порядок действий при распределении контейнеров
На гипервизоры, отведенные под базы данных, необходимо добавить кластер raft.
- В выпадающем меню выберите тег raft.
- Для фильтра Установлено не более: установите значение 0. Если пропустить этот фильтр, кластер не соберется.
-
Отметьте все доступные для установки роли с помощью чекбокса в таблице.
-
Ниже в списке гипервизоров отметьте те, которые были отведены под базы данных.
-
Режим генерации — На каждом гипервизоре.
-
Нажмите на кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.
Внимание
Для всех последующих ролей должно быть установлено значение 0 в фильтре Установлено не более. Если пропустить этот фильтр, кластер не соберется.
Следующий шаг — распределение ролей для баз данных.
- Выберите тег База данных.
- Для фильтра Установлено не более: установите значение 0.
- Отметьте Все доступные для установки роли.
- Ниже выберите гипервизоры, отведенные под базы данных.
- Режим генерации — На каждом гипервизоре.
- Нажмите на кнопку Добавить.
Чтобы добавить роли для мониторинга, повторно откройте окно выбора ролей.
- Выберите тег Мониторинг.
- Для фильтра Установлено не более: установите значение 0.
- Отметьте Все доступные для установки роли.
- Выберите гипервизор-мониторинг.
- Режим генерации — На каждом гипервизоре.
- Нажмите на кнопку Добавить.
Завершающий этап — распределить роли для API.
- Выберите тег API.
- Для фильтра Установлено не более: установите значение 0.
- Отметьте Все доступные для установки роли.
- Выберите гипервизоры, отведенные под фронты.
- Режим генерации — На каждом гипервизоре.
- Нажмите на кнопку Добавить.
Финальная проверка для того чтобы убедиться, что все роли распределены:
- Откройте окно добавления выбора ролей, нажав на Добавить -> Несколько контейнеров.
- Для фильтра Установлено не более: установите значение 0.
- Список ролей, доступных для добавления, должен быть пустым. Если это не так, распределите оставшиеся роли по гипевизорам в соответствии с тегами.
После того как все контейнеры сгенерированы, нажмите на зеленую кнопку Далее в правом верхнем углу.
Шаг 11. Шардирование и репликация БД
Настройка в этом разделе актуальна только для очень крупных инсталляций. В большинстве случаев достаточно настроек по умолчанию, и можно перейти к следующему шагу с помощью кнопки Далее.
Внимание
Добавлять кластеры БД можно только на этапе первоначальной установки.
Чтобы добавить более одного кластера, потребуется сгенерировать дополнительные контейнеры.
Чтобы добавить кластер:
- Нажмите кнопку Добавить в первой строке, отмеченной красным.
- Нажмите кнопку Добавить контейнер БД. В зависимости от типа базы данных может быть добавлен один или два контейнера.
- Сохраните изменения.
- Повторите шаги 1-4 для каждой строки, отмеченной красным.
После добавления всех кластеров появится возможность перейти к следующему шагу с помощью кнопки Далее.
Шаг 12. Настройте компоненты
Ограничение доступа к доменам
На вкладке Настройки компонентов выберите нужный домен и нажмите на иконку . После включения флага Ограничить доступ к домену появится раздел с более детальными настройками:
Ограничить доступ к домену — если включен только этот флаг, в поле ниже нужно будет ввести IP/подсети, которым будет разрешен доступ к домену. Также вы можете добавить комментарии, если это необходимо.
Режим запрета — запрещать следующим IP/подсетям — если включены оба флага (ограничение доступа и режим запрета), доступ к доменам будет запрещен IP/подсетям, введенным в поле.
Не забудьте повторить шаги на гипервизоре (нужные шаги уже отмечены желтым). Также можно нажать на иконку в общей строке состояния. Для этого перейдите к списку шагов, кликнув по логотипу AdminPanel.
Панель администрирования
Административные домены — с помощью кнопки Добавить по одному введите домены (до знака @), которым нужно выдать максимальные права:
Количество дней перед удалением пользователя — количество дней, по прошествии которых пользователь будет удален из панели администратора VK WorkSpace. Изменение настройки по умолчанию актуально при одновременном использовании панели администратора VK WorkSpace c Active Directory. По умолчанию выставлен срок 5 дней, то есть пользователь будет удален из панели администратора VK WorkSpace через 5 дней после его удаления из Active Directory.
Не проверять актуальность включенного функционала (фич) — при включенном флаге установщик будет пропускать шаг bizf
→ addBizFeatures
.
Рассыльщики
В разделе настраиваются служебные почтовые рассылки для внутренних пользователей. Чтобы перейти к настройкам, нажмите на иконку .
- Введите email и имя отправителя.
- Введите адрес и порт сервера рассылки.
- Сохраните изменения.
- Перейдите к списку ролей и запустите автоматическую установку, чтобы применить настройки.
Настройки HTTP(S)-прокси
Если вы используете прокси-сервер при подключении клиентов к панели администратора VK WorkSpace, включите флаг Перед VK WorkSpace есть прокси-сервер, чтобы контейнер, отвечающий за HTTPS-соединение, мог принимать трафик без шифрования.
Список IP прокси-серверов — введите в поле список IP-адресов, с которых VK WorkSpace будет принимать заголовки с оригинальными IP клиента и оригинальным протоколом подключения.
HTTP-заголовок прокси с оригинальным IP клиента — добавьте в поле заголовок прокси, который передает реальный IP-адрес клиента, иначе сервис будет работать некорректно.
HTTP-заголовок прокси с оригинальным протоколом подключения клиента — для корректной работы VK WorkSpace введите заголовок оригинального протокола подключения.
Шаг 13. Настройте интеграцию с VK Teams
- Перейдите на вкладку Интеграции → Интеграция с VK Teams.
- Включите флаг Использовать SSL шифрование для межсерверных запросов.
-
Заполните все поля:
Название поля Значение Адрес API VK Teams для добавления/удаления пользователей stentor.<домен VK Teams>.ru Адрес API управления VK Teams admin.<домен VK Teams> Токен API управления VK Teams Нажмите на серую кнопку в поле, чтобы сгенерировать токен. Этот токен понадобится вам ниже. Адрес API бинарных данных VK Teams ub.<домен VK Teams> Адрес клиентского API VK Teams u.<домен VK Teams> Адрес веб-версии VK Teams webim.<домен VK Teams> Адрес Mini App API files-n.<домен VK Teams> Адрес API звонков (ссылок на звонок) call.<домен VK Teams> Адрес сервера документации VK Teams Укажите адрес портала организации, по которому доступно клиентское приложение и инструкции VK Teams, например:
dl.<домен VK Teams>Адрес сервера VK Teams, где находится Grafana Для версии VK Teams 24.2 и ниже:
stentor.<домен VK Teams>/myteam-grafana
Начиная с версии VK Teams 24.3:
stentor.<домен VK Teams>/grafanaПуть URL-адреса для Grafana в домене панели администрирования myteam-grafana Токен VK Teams для получения структуры организаций в панели администрирования Значение key из шага Создайте токен biz-admin Пользователь ClickHouse VK Teams biz Пароль пользователя ClickHouse VK Teams Чтобы получить пароль, выполните команду: cat /usr/local/etc/k8s/helmwave/projects/godmod/secrets/clickhouse-metric-cluster.yml | grep password: | cut -d':' -f2 | sed 's/ //'
Список IP адресов/подсетей VK Teams (для ACL в SWA) <IP-адреса серверов VK Teams>
Примечание
На скриншоте ниже в качестве домена VK Teams используется vkt-02.on-premise.ru. Используйте ваш домен VK Teams.
Шаг 14. Укажите токен на сервере VK Teams
Скорректируйте конфигурацию etcd:
-
Пропишите в etcd VK Teams токен API управления VK Teams, сгенерированный на шаге выше:
etcdctl --endpoints etcd.im-etcd.svc.cluster.local:2379 put '/vars/services/godmod/production/private/service/auth/secret/secret' <token>
где <token> — это токен API управления VK Teams.
-
Укажите подсети для сетевого соединения панели администратора и VK Teams:
etcdctl --endpoints etcd.im-etcd.svc.cluster.local:2379 put '/vars/services/godmod/production/private/service/auth/secret/ip_subnets' '["192.0.2.0/24","203.0.113.0/24"]'
где 192.0.2.0/24 и 203.0.113.0/24 — примеры подсетей.
-
Далее выполните команды:
-
Выполните рестарт виртуальной машины:
Внимание
Если на данном шаге появились какие-либо ошибки, обратитесь в службу технической поддержки.
Шаг 15. Укажите переменные окружения
В разделе производится настройка кастомных переменных панели администратора.
Внимание
Настройка переменных окружения возможна только после консультации с представителем VK.
Чтобы добавить кастомную переменную:
- Нажмите на иконку
и кнопку Добавить.
- В выпадающем меню выберите название переменной.
-
Введите значение переменной. Значение переменной должно быть введено корректно, иначе установщик не позволит создать переменную.
-
Нажмите на кнопку Сохранить.
- Нажмите на кнопку Далее для перехода к следующему шагу.
Шаг 16. Запустите установку всех машин
-
В веб-интерфейсе установщика панели администратора кликните по иконке
рядом c общей строкой состояния в верхней части экрана.
-
Подтвердите запуск автоматической установки, нажав на кнопку Запустить.
В зависимости от этапа установки будет меняться цвет индикатора:
- Серый — в ожидании начала генерации.
- Синий — в процессе генерации.
- Желтый — шаг будет повторен (автоматически).
- Красный — ошибка.
-
Ожидайте завершения установки. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop.
Если в процессе установки и настройки системы происходят изменения конфигурации, некоторые задачи могут потребовать повторного выполнения.
Для повторного запуска необходимо нажать на иконку в общей строке состояния в верхней части экрана или рядом с названием конкретного контейнера.
При появлении ошибок на гипервизоре на нем появится тег Не отвечает, а на контейнерах, относящися к этому гипервизору — Не отвечает гипервизор.
Чтобы продолжить установку:
-
Сгруппируйте объекты по гипервизору — так вам будет наглядно видно, на каком гипервизоре ошибка.
-
После этого перейдите в командную строку и устраните ошибку. По завершении необходимо нажать на шестеренку в строке гипервизора, на котором была ошибка, затем на странице в списке шагов на гипервизоре.
-
В окне настроек гипервизора нажмите на кнопку Обновить.
-
Повторно запустите автоматическую установку.
Шаг 17. Инициализируйте домен и войдите в панель администратора
Когда установка панели администратора будет завершена, соответствующий статус отобразится в строке состояния.
-
Нажмите на кнопку Далее в правом верхнем углу.
-
Введите имя почтового домена вашей корпоративной почты и нажмите на кнопку Добавить.
Домен считается подтвержденным после добавления в панель администратора.
В адресную строку скопируйте адрес панели администратора и введите данные:
- Имя пользователя — admin@admin.qdit.
- Пароль находится в файле — bizOwner.pass, для его просмотра введите в консоли команду:
cat <путь до директории с установщиком>/bizOwner.pass
.
Если логин и пароль были введены правильно, вы попадете в панель администратора.
Внимание
По завершении установки допускается только удаление архива, из которого был распакован дистрибутив в начале установки. Все остальные файлы должны оставаться в папке с файлом onpremise-deployer_linux. Не удаляйте пользователя deployer — эта учетная запись потребуется для обновления и дальнейшей эксплуатации Панели администратора.
3. Добавьте пользователей в панель администратора
При наличии ActiveDirectory настройте интеграцию в панели администратора (см. инструкцию).
Если у вас нет ActiveDirectory:
- Обратитесь в службу технической поддержки для подключения функциональности создания и управления пользователями в панели администратора.
- После подключения функциональности импортируйте пользователей при помощи CSV-файла (см. инструкцию).
Важно
Списки пользователей в VK Teams и панели администратора должны совпадать. Синхронизация пользователей с ActiveDirectory и массовое добавление пользователей при помощи CSV-файла занимает некоторое время. Дождитесь полной синхронизации с ActiveDirectory и загрузки всех пользователей.
Если у вас нет ActiveDirectory, интеграция с панелью администратора считается завершенной. Если настроена интеграция VK Teams с ActiveDirectory, удалите LDAP-подключение (см. ниже).
4. Удалите LDAP-подключение VK Teams
Примечание
Пропустите этот шаг, если у вас нет ActiveDirectory или интеграция с ActiveDirectory не настраивалась.
-
Чтобы удалить LDAP-подключение, на сервере VK Teams выполните команды:
>kccli ldap delete --name <имя вашего LDAP сервера> //удаление по имени >kccli ldap delete --id <id вашего LDAP сервера> //удаление по ID
Используйте удаление по ID в случае, если ранее было заведено несколько LDAP-серверов с неуникальными именами. Получить ID подключений можно, выполнив команду:
-
Выполните рестарт виртуальной машины:
Интеграция с панелью администратора считается завершенной.
Добавление дополнительных доменов
Если вы планируете использовать несколько доменов, добавьте их с помощью кнопки Подключить новый проект. Для этого нужно открыть выпадающее меню рядом с вашим доменом и ввести адрес домена:
Логи и полезные команды
Все команды, перечисленные ниже, следует выполнять в консоли.
-
Перезапуск установщика:
-
Логи установщика:
-
Список запущенных контейнеров:
-
Логи конкретного контейнера:
-
Статус контейнера:
-
Посмотреть список «сломанных» контейнеров:
-
Посмотреть список всех незапустившихся контейнеров:
-
Удалить контейнер: