Скопируйте файл NCC_Onprem_12_2_Installer.zip в корневой каталог всех узлов.
Например, scp NCC_Onprem_12_2_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/
Введение
В Adobe Connect используется новейшая структура WebRTC, позволяющая реализовать улучшенные возможности для работы с аудио и видео. Эта настройка улучшенного интерфейса для работы с аудио и видео работает на базе нескольких узлов Linux®, каждый из которых выполняет свои функции. Существуют узлы передачи сигнала, узлы медиасервера и узлы записи. При настройке также используются базы данных PostgreSQL и Redis, которые можно установить на одно устройство или на отдельные устройства в зависимости от вида использования.
Настройка каждого узла осуществляется посредством копирования на него ZIP-файла с программой установки, изменения файлов конфигурации, выполнения сценария установки зависимостей и, наконец, выполнения основного сценария установки. Ниже перечислены темы, которые рассматриваются далее:
- Подготовка среды
- Обновление системы с версиями 12.0, 12.1, 12.1.5
- Настройка улучшенного интерфейса для работы с аудио и видео в службы Adobe Connect (CPS)
Эти действия описаны в разделе «Установка».
Обязательные и системные требования
Оценка размера серверов/узлов улучшенного интерфейса для работы с аудио и видео
Для оценки размера серверов улучшенного интерфейса для работы с аудио и видео можно запустить файл session_participants_count.sql. Результаты запросов SQL станут входными данными для калькулятора, который представляет собой файл Excel, Additional Enhanced A/V hardware estimator.xlsx.
Калькулятор поможет оценить количество необходимых виртуальных машин исходя из ретроспективных данных об использовании Adobe Connect. Калькулятору потребуется следующий набор входных данных.
- Количество ядер ЦП и величина ОЗУ.
Прилагаемые запросы SQL, используемые для определения пикового количества одновременных сеансов за последние 12 месяцев и среднего количества участников.
Расчетное количество транслирующих участников в рамках каждого сеанса. Транслирующий участник — это участник собрания (организатор, докладчик или обычный участник), подключающий свой микрофон в комнате собрания (как с включенным, так и с выключенным звуком) и подключающий свою веб-камеру в комнате собрания (как в режиме прямой трансляции, так и на паузе).
Оба файла session_participants_count.sql и Additional Enhanced A/V hardware estimator.xlsx входят в пакет программы установки и доступны только там.
Оценка требований к FQDN и SSL-сертификатам
FQDN:
Одна общедоступная запись DNS для внешнего балансировщика нагрузки приложения, например, webrtc.example.com
Одна общедоступная запись DNS для каждого медиасервера, например, media-1.example.com
SSL СЕРТИФИКАТЫ:
Один SSL-сертификат для FQDN балансировщика нагрузки
Для медиасерверов рекомендуется конфигурация TURNS, соответственно, один сертификат для каждого медиасервера.
Понимание архитектуры сети
Требования к открытию портов
Источник | Пункт назначения | Порт | Протокол | Использование |
---|---|---|---|---|
Узел передачи сигнала | Redis | 6379 | TCP | |
Postgres | 5432 | TCP | ||
Узел записи | 5000-5100 | TCP | ||
SIP-узел или узел медиасервера |
5060 | UDP | ||
SIP-узел или узел медиасервера |
5060 | TCP | Для передачи сигналов SIP | |
Сервер CPS | 443 | TCP | ||
Узел записи | Узел медиасервера (*) |
443 | TCP | TURNS |
3478 | UDP | STUN/TURN | ||
3478 | TCP | STUN/TURN | ||
30000 - 65535 | UDP | SRTP (медиапоток в режиме реального времени) | ||
Сервер CPS | 443 | TCP | ||
Redis | 6379 | TCP | ||
Узел передачи сигнала | 8090 | TCP |
||
Балансировщик нагрузки WebRTC (**) | 443 | TCP |
||
Узел медиасервера | Redis | 6379 | TCP |
|
Postgres | 5432 | TCP |
||
stun.I.google.com | 19302 | UDP | Для поиска общедоступного IP-адреса. Проверка типа NAT. |
|
stun1.I.google.com |
19302 | UDP | Для поиска общедоступного IP-адреса. Проверка типа NAT. |
|
Балансировщик нагрузки WebRTC (**) | 443 | TCP |
Для регистрации в шлюзе WebRTC |
|
Сервер CPS | Балансировщик нагрузки WebRTC |
443 | TCP |
|
Узел записи | 80 | TCP |
Загрузка файлов записей | |
Пользователи/Клиент/Интернет | Узел медиасервера (*) |
443 | TCP |
TURNS (аудио-видео через TLS) |
3478 | UDP | STUN/TURN |
||
3478 | TCP | STUN/TURN |
||
30000 - 65535 | UDP | SRTP (медиапоток в режиме реального времени) |
||
Сервер CPS | 443 | TCP |
||
Балансировщик нагрузки WebRTC |
443 | TCP |
||
SIP-узел | Redis | 6379 | TCP |
В большинстве случаев служба SIP работает на базе узла медиасервера |
Postgres | 5432 | TCP |
||
Балансировщик нагрузки WebRTC |
443 | TCP |
* Медиасерверы в большинстве случаев имеют общедоступный IP-адрес, но в ограниченных средах, где доступ к Adobe Connect i через Интернет не требуется, порты должны быть открыты для их частного IP-адреса.
** Для маршрутизации трафика на несколько узлов передачи сигнала и для разгрузки SSL существует внешний балансировщик нагрузки WebRTC. Балансировщик нагрузки выступает в качестве интерфейса между новыми серверами WebRTC и CPS и конечными пользователями.
Балансировка нагрузки, как правило, осуществляется посредством внешнего балансировщика нагрузки приложения с описанной далее конфигурацией.
HTTPS порт 443: узлы передачи сигнала, HTTP порт 18443 — CPS и конечные пользователи будут подключаться к этому слушателю, и это будет входная точка для нового кластера WebRTC.
HTTP порт 443: узлы передачи сигнала, HTTP порт 9090 — используется администратором для подключения к веб-панели администратора WebRTC для настройки TURNS и SIP/телефонии.
Более подробная информация представлена в разделе «Настройка балансировки нагрузки для локального развертывания улучшенного интерфейса для работы с аудио и видео (WebRTC)».
Системные требования для серверов улучшенного интерфейса для работы с аудио и видео
- ОС – Red Hat Enterprise Linux (64-разрядная), версия 8.6
- Сторонние библиотеки (открытый источник), установленные на серверах:
- Podman 4.2.0
- Virtualenv 20.19.0
- Python 3.9
- Pip 21.3.1
- Библиотеки Python (pydantic, pyhocon, docker, redis, packaging, psycopg2-binary, python-json-logger, pystun3, coloredlogs, colorama)
Для стандартной настройки улучшенного интерфейса для работы с аудио и видео требуется как минимум три сервера Red Hat: по одному для узла передачи сигнала, узла медиасервера и узла записи. Исходя из уровня нагрузки собраний, блок оценки может предложить использовать несколько узлов медиасервера, записи и передачи сигнала. Для разгрузки SSL и для связи между CPS и клиентами конечных пользователей с узлами передачи сигнала используется балансировщик нагрузки приложения.
В некоторых случаях настройка на основе нагрузки может предусматривать всего два сервера с контейнерами службы записи, работающими на узле передачи сигнала.
Здесь мы подробно рассмотрим наиболее распространенные варианты настройки с тремя серверами.
- Предоставьте 3 сервера Red Hat. С конфигурацией можно ознакомиться в разделе «Блок оценки аппаратного обеспечения».
- Для установки требуется некорневой пользователь с sudo-доступом.
- После новой установки Red Hat создайте новый идентификатор пользователя.
- Чтобы активировать sudo для нового идентификатора пользователя на RHEL, добавьте этот идентификатор в группу wheel:
- Получите корневой статус, выполнив su.
- Выполните usermod -aG wheel your_user_id.
- Выйдите из системы и войдите обратно с новым идентификатором пользователя.
- Получите корневой статус, выполнив su.
- Присвойте статические IP-адреса узлам передачи сигнала и записи.
- Выделите и присвойте общедоступный IP-адрес медиасерверу. При использовании 1:1 NAT общедоступный IP-адрес должен быть увязан с частным IP-адресом медиасервера.
- Создайте общедоступную запись DNS для медиасервера. Настоятельно рекомендуется настроить TURNS (подключение через TLS 443), поэтому также обеспечьте SSL-сертификат для этого FQDN.
- Откройте необходимые сетевые порты между тремя узлами. Ознакомьтесь с разделом «Архитектура сети».
- Настройте внешний балансировщик нагрузки приложения, как описано в предыдущем разделе. Также настройте общедоступную запись DNS для балансировщика нагрузки и обеспечьте SSL-сертификат.
Копирование ZIP-файла программы установки
-
-
В качестве альтернативы проверьте загруженный подписанный ZIP-файл с помощью Jarsigner. Утилита Jarsigner устанавливается в рамках JAVA.
- Убедитесь, что JAVA установлена, с помощью команды [ java -version ]. Если JAVA установлена, результатом выполнения команды станет ее версия.
- Если JAVA на устройстве отсутствует, установите JAVA.
sudo yum install java-1.8.0-openjdk-devel - Теперь скопируйте следующую команду в окне терминала и нажмите Enter.
jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip - Результат проверки будет включать:
- перечень файлов внутри ZIP-файла;
- сведения о сертификате от Adobe для аутентификации;
- выходное сообщение об успехе "jar is verified" («архив JAR подтвержден») или о неудаче "jar is not verified" («архив JAR не подтвержден»)
- Если сведения о сертификате являются действительными, и получено выходное сообщение об успешной проверке, пользователь может воспользоваться содержимым ZIP-файла и перейти к установке. В противном случае пользователю необходимо связаться со службой поддержки Adobe.
-
Извлеките содержимое ZIP-файла. Убедитесь в том, что у файлов имеются соответствующие разрешения.
Воспользуйтесь командами: Не выполняйте никаких команд с root/sudo- доступом, если прямо не указано иное.разархивируйте файл NCC_Onprem_12_2_Installer.zip
перейдите в родительский каталог программы установки,
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connectivity.sh
sudo chmod +x uninstall.shПримечание.При выполнении установки в среде без доступа в Интернет или в закрытой среде выполните следующую команду:
sudo chmod +x Externaldependecies/package-util.sh
-
Выполнение сценария установки зависимостей.
- При выполнении установки в среде без доступа в Интернет или в закрытой среде выполните следующую команду для установки внешних зависимостей: Если доступ в Интернет имеется, переходите к следующему действию 2.
Перейдите в родительский каталог программы установки, например, Убедитесь в том, что вы в каталоге ~/ncc-onprem-installer/ .
Выполните команду bash ExternalDependencies/package-util.sh --install. С помощью этой команды будут установлены все требуемые внешние зависимости в блоке.
Это нужно сделать один раз для каждого узла.
- Перейдите в родительский каталог программы установки, например, Убедитесь в том, что вы в каталоге ~/ncc-onprem-installer/ .
Выполните команду bash ExternalDependencies/install.sh. С помощью этой команды будут установлены все требуемые внешние зависимости в блоке.
Это нужно сделать один раз для каждого узла.
- При выполнении установки в среде без доступа в Интернет или в закрытой среде выполните следующую команду для установки внешних зависимостей: Если доступ в Интернет имеется, переходите к следующему действию 2.
Процедура установки
Далее описывается порядок действий для установки среды WebRTC (в качестве примера) в 3 отдельных вариантах Red Hat. Узел передачи сигнала, узел записи и узел медиасервера. Обращайте особое внимание на настройки служб в файле containers.conf для получения инструкций по каждому узлу. Необходимо настроить каждый узел посредством организации особого набора служб/контейнеров в файлах конфигурации.
** В рамках лабораторной системы можно установить все эти «узлы» (передачи сигнала, записи и медиасервера) в один вариант Linux. В этом случае в файле containers.conf необходимо задать значение ‘count=1’ для всех серверов/контейнеров, необходимых для вашей среды.
Узел передачи сигнала
На узлах передачи сигнала, как правило, работают следующие службы: Каждая служба работает как контейнер Docker.
- config (служба конфигурации)
- cas (новая служба API-интерфейса Connect)
- apigw (шлюз API/маршрутизатор)
- liveswitch-gateway (служба шлюза WebRTC)
Узел (узлы) передачи данных, как правило, располагаются в частной подсети, доступной клиенту Connect через внешний балансировщик нагрузки.
Процедура
-
Изменение файла Hosts
Файл hosts на узле передачи сигнала следует обновить. Для этого можно воспользоваться текстовым редактором, например, nano или vi.
- Откройте файл /etc/hosts с помощью редактора nano или vi, например, sudo vi /etc/hosts
- Добавьте в конце следующую строку. Замените <private-ip> частным IP-адресом соответствующего узла. Обратите внимание на пробел между каждым словом ниже.
<private-ip> cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
Примечание.Измените значение IP-адреса, приведенное в качестве примера, в соответствии со своей средой.
192.168.1.100 cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
- Откройте файл /etc/hosts с помощью редактора nano или vi, например, sudo vi /etc/hosts
-
Изменение файлов конфигурации
- Измените файл конфигурации ncc-onprem-installer/Config/config.conf. Инструкции по изменению файла представлены в виде комментариев к файлу конфигурации. Этот файл необходимо изменить для каждого узла в отдельности.
- Теперь измените файл ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу. Этот файл необходимо изменить для каждого узла в отдельности. В зависимости от устанавливаемых служб и количества развертываемых контейнеров.
- На стандартном узле передачи сигнала устанавливаются:
- casServer
- configService
- apiGateway
- gatewayServer
- redis
- postgres
- lb (балансировщик нагрузки. Не обязательно. Дополнительные действия по настройке описаны в разделе «Балансировщик нагрузки» далее.)
- Итак, задайте для всех вышеперечисленных служб значение count=1, а для всех остальных — 0.
- Важно: задайте для configService значение restart=1 после внесения любых изменений в файл Config.conf.
- При развертывании, предусматривающем несколько узлов передачи сигнала, базы данных Redis и Postgres устанавливаются только на первый узел.
- Измените файл конфигурации ncc-onprem-installer/Config/config.conf. Инструкции по изменению файла представлены в виде комментариев к файлу конфигурации. Этот файл необходимо изменить для каждого узла в отдельности.
-
Выполнение основного сценария программы установки .
Переключитесь на основной каталог программы установки cd ~/ncc-onprem-installer/
Выполните основной сценарий программы установки: bash MainInstall.sh. Дождитесь сообщения с подтверждением.
Сообщение об успехе:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Сообщение о неудаче:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Просмотрите дополнительную информацию в журнале installer.log.Ознакомьтесь с разделом «Поиск и устранение неполадок».
-
Проверка установки
- API проверки работоспособности
Для проверки работоспособности узла можно перейти по ссылке: http://<private_ip>:18443/health. Работоспособный ответ — 200 OK {"apigw":"ok"}.
Для проверки с устройства RedHat можно воспользоваться командой CURL
Например, curl -v http://172.31.56.203:18443/health - Проверка состояния контейнера
В окне терминала выполните команду docker ps.
Результат должен быть, как указано ниже, при этом выполнять перезапуск СОСТОЯНИЯ любого из контейнеров не следует.
- API проверки работоспособности
-
Использование входящего в комплект поставки балансировщика нагрузки Nginx, также именуемого «контейнер балансировщика нагрузки»
Программа установки теперь идет в комплекте с контейнером Nginx для разгрузки SSL с открытым исходным кодом.
Его следует использовать только для лабораторий или маломасштабных развертываний только с 1 узлом передачи сигнала.
Балансировщик нагрузки следует установить на узел передачи сигнала.
При использовании входящего в комплект поставки балансировщика нагрузки узел передачи сигнала должен располагаться в общедоступных подсетях (или DMZ) и иметь общедоступный IP-адрес или быть увязанным с общедоступным IP-адресом посредством 1:1 NAT. Клиенты подключаются к узлу напрямую через URL-адрес балансировщика нагрузки на порте 443.
При развертывании, не требующем доступа к Connect через Интернет, узел передачи сигнала должен располагаться в частной подсети, но при этом быть доступным по внутренней сети на порте 443.
Требования:
- Записи общедоступного/частного DNS-сервера в зависимости от вида использования
- SSL-сертификат для записи DNS
- Закрытый ключ для SSL-сертификата
Порядок использования балансировщика нагрузки
- mkdir -p ~/connect/loadbalancer/certs
- Скопируйте SSL-сертификат (выданный для FQDN узла передачи сигнала) и закрытый ключ в каталог сертификатов. Убедитесь, что их имена — cert.crt и key.key.
- В файле config.conf добавьте FQDN в разделы hostnames>lb и hostnames>fqdn, поскольку это будет входная точка для кластера WebRTC.
- В файле container.conf измените количество балансировщиков нагрузки (lb) на 1.
- Теперь запустите bash MainInstall.sh.
При использовании универсального сертификата с вариантом AWS EC2:
- Создайте запись A в Route53. Например, если универсальный сертификат *.example.com, создайте запись А в виде webrtc.example.com и увяжите ее с эластичным IP-адресом варианта EC2.
- Скопируйте универсальный сертификат и ключ в каталог ~/connect/loadbalancer/certs. Убедитесь, что их имена — cert.crt и key.key.
- Добавьте FQDN. Например, webrtc.example.com в разделах hostnames>lb и hostnames>fqdn.
- В файле container.conf измените количество балансировщиков нагрузки (lb) на 1.
- Теперь запустите bash MainInstall.sh.
На узле (узлах) медиасервера работают следующие службы:
- liveswitch-media-server (медиасервер) — для улучшенного аудио/видео
- liveswitch-sip-connector (SIP-служба) — для использования SIP
Узлы медиасервера должны располагаться в общедоступных подсетях (или DMZ) и иметь общедоступный IP-адрес или быть увязанными с общедоступным IP-адресом посредством 1:1 NAT. Клиенты подключаются к общедоступным IP-адресам узлов медиасервера напрямую.
Клиент улучшенного интерфейса для работы с аудио и видео (WebRTC) использует ICE метод для подключения и пытается установить поток для передачи аудио и видеоданных с медиасервером через следующие порты и протокол:
- порты UDP в диапазоне 30000–65535 обрабатывают медиапоток в режиме реального времени;
- порт UDP и TCP 3478 обрабатывает трафик STUN и TURN, помогая клиентам осуществлять потоковую передачу данных через брандмауэры.
- TLS через порт 443 позволяет TURNS обеспечивать высокую доступность для потоковой передачи данных в ограниченных сетях;
- клиент C12 на базе WebRTC попробует все варианты (TCP и UDP), прежде чем переключится на TLS через порт 443;
- порт UDP и TCP 5060 обрабатывает трафик SIPдля регистрации магистрального канала/PBX и входящих/исходящих вызовов. (Требуется в случае использования SIP)
Процедура
-
Выполнение основного сценария программы установки.
Переключитесь на основной каталог программы установки cd ~/ncc-onprem-installer/
Выполните основной сценарий программы установки: bash MainInstall.sh. Дождитесь сообщения с подтверждением.
Сообщение об успехе
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Сообщение о неудаче
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Просмотрите дополнительную информацию в журнале installer.log.Ознакомьтесь с разделом «Поиск и устранение неполадок».
-
Проверка установки
В окне терминала выполните команду docker ps и убедитесь что контейнер liveswitch-media-server работает.
Узел записи
Узлы записи должны работать в частной сети. На узлах записи могут работать один или несколько экземпляров:
- hcr (контейнер записи. количество записей, которые могут работать одновременно, определяется количеством контейнеров hcr)
- recordingserver (веб-сервер для передачи файлов записей в службу CPS. 1 на каждый узел записи)
Узлы записи должны быть доступны на:
- TCP 80 из местной сети, чтобы служба CPS могла загружать записи.
- TCP 5000-5100 из локальной сети, отдельные контейнеры записей будут связаны с портами узлов в этом диапазоне.
- TCP 8090 из местной сети.
Чтобы успешно производить запись, узлы записи должны иметь доступ к узлам медиасервера по общедоступным IP-адресам на портах, перечисленных в разделе «Узлы медиасервера», а также к службе CPS на порте 443.
Процедура
-
Изменение файлов конфигурации
- Измените файл config.conf или скопируйте его с узла передачи сигнала, ~/ ncc-onprem-installer /Config/config.conf.
- Теперь измените файл ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.
- На узле сервера записи устанавливаются:
- recordingContainer
- recordingserver
- recordingContainer
- Итак, задайте значение count=1 для recordingContainer, 1 для recordingserver, и 0 — для всех остальных.
-
Выполнение основного сценария программы установки
Переключитесь на основной каталог программы установки cd ~/ncc-onprem-installer/ncc-onprem-installer/.
Выполните основной сценарий программы установки: bash MainInstall.sh. Дождитесь сообщения с подтверждением.
Сообщение об успехе
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Сообщение о неудаче
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Просмотрите дополнительную информацию в журнале installer.log.Ознакомьтесь с разделом «Поиск и устранение неполадок».
-
Проверка установки
В окне терминала выполните команду Bи убедитесь что контейнеры hcr and recordingserver работают.
Подготовка среды
Копирование ZIP-файла программы установки.
-
Скопируйте файл NCC_Onprem_12_2_Installer.zip в корневой каталог всех узлов.
Например, scp NCC_Onprem_12_2_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/ -
В качестве альтернативы проверьте загруженный подписанный ZIP-файл с помощью Jarsigner. Утилита Jarsigner устанавливается в рамках JAVA.
- Убедитесь, что JAVA установлена, с помощью команды [ java -version ]. Если JAVA установлена, результатом выполнения команды станет ее версия.
- Если JAVA на устройстве отсутствует, установите JAVA.
sudo yum install java-1.8.0-openjdk-devel - Теперь скопируйте следующую команду в окне терминала и нажмите Enter.
jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip - Результат проверки будет включать:
- перечень файлов внутри ZIP-файла;
- сведения о сертификате от Adobe для аутентификации;
- выходное сообщение об успехе "jar is verified" («архив JAR подтвержден») или о неудаче "jar is not verified" («архив JAR не подтвержден»)
- Если сведения о сертификате являются действительными, и получено выходное сообщение об успешной проверке, пользователь может воспользоваться содержимым ZIP-файла и перейти к установке. В противном случае пользователю необходимо связаться со службой поддержки Adobe.
-
Извлеките содержимое ZIP-файла. Убедитесь в том, что у файлов имеются соответствующие разрешения.
Воспользуйтесь командами: Не выполняйте никаких команд с root/sudo- доступом, если прямо не указано иное.разархивируйте файл NCC_Onprem_12_2_Installer.zip
перейдите в родительский каталог программы установки,
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connectivity.sh
sudo chmod +x uninstall.sh -
Выполнение сценария установки зависимостей.
Перейдите в родительский каталог программы установки, например,
Убедитесь в том, что вы в каталоге ~/ncc-onprem-installer/
Выполните bash ExternalDependencies/install.sh. С помощью этой команды будут установлены все требуемые внешние зависимости в блоке.Это нужно сделать один раз для каждого узла.
Процесс обновления предусматривает простой.
Узел передачи сигнала
На узлах передачи сигнала, как правило, работают следующие службы: Каждая служба работает как контейнер Docker.
- config (служба конфигурации)
- cas (новая служба API-интерфейса Connect)
- apigw (шлюз API/маршрутизатор)
- liveswitch-gateway (служба шлюза WebRTC)
Процедура
-
Изменение файлов конфигурации
- Измените файл конфигурации ncc-onprem-installer/Config/config.conf. Инструкции по изменению файла представлены в виде комментариев к файлу конфигурации. Этот файл необходимо изменить для каждого узла в отдельности. Для справки можно воспользоваться файлом config.conf из предыдущей установки. Не заменяйте новый файл старым. В более новой версии присутствуют важные обновления.
- Теперь измените файл ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу. Этот файл необходимо изменить для каждого узла в отдельности.
- На узле передачи сигнала, как правило, устанавливаются:
- casServer
- configService
- apiGateway
- gatewayServer
- Чтобы определить устанавливаемые службы и количество развертываемых контейнеров, обратитесь к файлу из предыдущей установки. Задайте для всех вышеперечисленных служб значение count=1, а для всех остальных — 0.
- Важно: задайте для configService значение restart=1 после внесения любых изменений в файл Config.conf или после использования более новой версии программы установки.
- Важно: при обновлении предоставленные базы данных Redis и Postgres установке не подлежат, поэтому установите для них количество 0 в файле containers.conf.
-
Переключитесь на основной каталог программы установки cd ~/ncc-onprem-installer/
Выполните основной сценарий программы установки: bash MainInstall.sh. Программа установки автоматически обновляет службы до последней версии. Дождитесь сообщения с подтверждением.
Сообщение об успехе:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Сообщение о неудаче:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Просмотрите дополнительную информацию в журнале installer.log. -
Проверка установки
- API проверки работоспособности
Для проверки работоспособности узла можно перейти по ссылке: http://<private_ip>:18443/health. Работоспособный ответ — 200 OK {"apigw":"ok"}. Для проверки с устройства RedHat можно воспользоваться командой CURL.
Например, curl -v http://172.31.56.203:18443/health Проверка состояния контейнера
В окне терминала выполните команду docker ps
Результат должен быть, как указано ниже, при этом выполнять перезапуск СОСТОЯНИЯ любого из контейнеров не следует.
- API проверки работоспособности
Узел медиасервера
На узле (узлах) медиасервера работают следующие службы:
- liveswitch-media-server (медиасервер) — для улучшенного аудио/видео
- liveswitch-sip-connector (SIP-служба) — для использования SIP
Процедура
-
Изменение файлов конфигурации.
-
Измените файл config.conf или скопируйте его с узла передачи сигнала, ~/ncc-onprem-installer /Config/config.conf. Для справки можно воспользоваться файлом config.conf из предыдущей установки. Не заменяйте новый файл старым. В более новой версии присутствуют важные обновления.
Примечание.Если вы в ограниченной среде, не заполняйте поля externalStunUrls0 и externalStunUrls1 в разделе gatewayServer. Например, externalStunUrls0="" , externalStunUrls1="".
-
Теперь измените файл ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.
-
Теперь измените файл ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.
-
На узле медиасервера обновляются:
- mediaServer
- sipServer (если требуется SIP/телефония)
-
Чтобы определить устанавливаемые службы и количество развертываемых контейнеров, обратитесь к файлу из предыдущей установки. Задайте для всех вышеперечисленных служб значение count=1, а для всех остальных — 0.
-
В блоке mediaServer обновите значения параметров mediaNodePublicIP и mediaNodePublicFQDN. Для получения более подробных сведений ознакомьтесь с внутристрочными комментариями.
-
-
Выполните основной сценарий программы установки
Переключитесь на основной каталог программы установки cd ~/ncc-onprem-installer/
Выполните основной сценарий программы установки: bash MainInstall.sh. Программа установки автоматически обновляет службы до последней версии. Дождитесь сообщения с подтверждением.
Сообщение об успехе:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Сообщение о неудаче:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Просмотрите дополнительную информацию в журнале installer.log.Ознакомьтесь с разделом «Поиск и устранение неполадок».
-
Проверка установки
В окне терминала выполните команду docker ps и убедитесь что контейнеры liveswitch-media-server и liveswitch-sip-connector (установка не обязательна) работают.
Узел записи
Узлы записи должны работать в частной сети. На узлах записи могут работать один или несколько экземпляров:
hcr (контейнер записи. Количество записей, которые могут работать одновременно, равно количеству контейнеров hcr.)
Процедура
-
Изменение файлов конфигурации
- Измените файл config.conf или скопируйте его с узла передачи сигнала, ~/ ncc-onprem-installer /Config/config.conf. Для справки можно воспользоваться файлом config.conf из предыдущей установки. Не заменяйте новый файл старым. В более новой версии присутствуют важные обновления.
- Теперь измените файл ~/ncc-onprem-installer/Config/containers.conf. Инструкции по изменению файла представлены в виде комментариев к файлу.
- На узле сервера записи обновляются:
- recordingContainer
- Обратитесь к файлу containers.conf в каталоге предыдущей установки и задайте то же значение количества для recordingContainer и 0 — для всех остальных служб.
- Измените файл config.conf или скопируйте его с узла передачи сигнала, ~/ ncc-onprem-installer /Config/config.conf. Для справки можно воспользоваться файлом config.conf из предыдущей установки. Не заменяйте новый файл старым. В более новой версии присутствуют важные обновления.
-
Выполнение основного сценария программы установки.
Переключитесь на основной каталог программы установки cd ~/ncc-onprem-installer/ncc-onprem-installer/
Выполните основной сценарий программы установки: bash MainInstall.sh. Программа установки автоматически обновляет службы до последней версии. Дождитесь сообщения с подтверждением.
Сообщение об успехе:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.
Сообщение о неудаче:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed. Просмотрите дополнительную информацию в журнале installer.log.Ознакомьтесь с разделом «Поиск и устранение неполадок».
-
Проверка установки
В окне терминала выполните команду docker ps и убедитесь что контейнеры hcr работают.
На всех серверах Adobe Connect 12 (CPS) необходимо выполнить следующие действия:
- Добавьте следующие настройки в файл custom.ini всех серверов Connect по адресу <каталог_установки>/Connect/custom.ini.
# перечень URL-адресов обнаружения CAS через запятую
# Возможные значения
WEBRTC_CAS_DISCOVERY_URLS=http://<IP-адрес узла передачи сигнала >:18443/api/cps/ingest
WEBRTC_CAS_DISCOVERY_URLS=http://<URL-адрес балансировщика нагрузки>/api/cps/ingest
# Секретный вопрос для CAS, используемый для подписания запросов к CAS. Введите тот, который вы установили в разделе hmac в файле config.conf на узле передачи сигнала.
WEBRTC_CAS_SHARED_SECRET=CorrectHorseBatteryStaple - Сохраните файл и перезапустите службу connectpro.
Действия после установки
-
Проверка сетевого подключения
Запустите рабочий процесс «Проверка подключения», чтобы проверить сетевое подключение между разными узлами
- Выполните вход на узел передачи сигнала.
- Перейдите в родительский каталог программы установки, например,
cd ~/ncc-onprem-installer/ncc-onprem-installer/ - Выполните команду bash check-connectivity.sh.
- Инструмент подключения использует значения, заданные в файле Config.conf, для проведения базовых сетевых тестов, например:
- запросы HTTP между разными службами;
- тесты сетевого подключения на требуемых портах TCP и UDP;
- разрешение имен;
- подключение к базе данных.
- Этот тест позволяет проверить требуемое подключение между узлами и службами, а также делиться результатами для диагностики проблем с сетевым подключением.
-
Тестирование собрания Adobe Connect с улучшенным интерфейсом для работы с аудио и видео
- Создайте новое собрание и убедитесь, что выбрана функция «Улучшенный интерфейс для работы с аудио и видео».
- Присоединитесь к комнате собрания и включите микрофон и камеру.
- При наличии возможности также присоединитесь к комнате собрания с другого ПК или мобильного устройства и проверьте обмен аудио и видеосигналами.
- Попробуйте функцию совместного использования экрана.
- Начните запись. Подождите 30 с и остановите запись. Теперь убедитесь в доступности записи.
Настройка дополнительных функций
Настройка SIP
Для настройки SIP необходимо войти на веб-панель администратора FM.
-
Перейдите по ссылке: http://<your-load-balancer-address>:9090/admin и выполните вход с помощью логина и пароля, заданных в config.conf. Если балансировщик нагрузки не используется, перейдите по ссылке: http://<Signalling_Node-address>:9090/admin.
-
Зайдите в «ПРИЛОЖЕНИЯ», выберите«AdobeConnect», а затем прокрутите список вниз до раздела«Каналы».Настройте конфигурацию исходящего идентификатора абонента SIP для групп каналовdefault (*) иbroadcast-*.
-
Из основного меню перейдите в «РАЗВЕРТЫВАНИЯ» и измените конфигурацию SIP.
Загрузка сертификата TURNS на панель администратора FM
Для удаления привязок TURNS по протоколу SSL можно загрузить сертификат на панель администратора FM.
Сертификат должен быть в форматеPFX.
Выполните следующие действия.
-
Перейдите по ссылке: http://<your-load-balancer-address>:9090/admin и выполните вход с помощью логина и пароля, заданных в config.conf. Если балансировщик нагрузки не используется, перейдите по ссылке: http://<Signalling_Node-address>:9090/admin.
-
Перейдите в «СЕРТИФИКАТЫ».
-
В разделе«Сертификаты файлов» нажмите на значок + и загрузите сертификат используемого вами домена.
Настройка привязки TURNS
Это необходимо для обеспечения защищенной связи TURN
Если вы уже загрузили сертификат, как описано в предыдущем разделе, выполните следующие действия:
-
Перейдите в «РАЗВЕРТЫВАНИЯ», затем выберите «По умолчанию».
-
Прокрутите список вниз до раздела «Расширенная настройка».
-
Настройте привязки TURNS с помощью сертификата, загруженного вами ранее.
Удаление программы
-
Измените каталог программы установки (корневой каталог содержит uninstall.sh), cd ~/ncc_onprem_installer.
-
Выполните bash uninstall.sh.
-
Чтобы удалить каталог баз данных Postgres и Redis с узла передачи сигнала, выполните следующую команду.
sudo rm -rf ~/connect
В результате из системы будут удалены все компоненты NCC и изображения. При этом внешние зависимости (Python, PIP, Virtualenv и пакеты Python) удалены не будут.
docker.errors.DockerException: ошибка при получении версии API сервера: ("Соединение прервано", FileNotFoundError(2, "Нет такого файла или каталога"))
Это сообщение об ошибке появляется, когда переменная среды DOCKER_HOST не задана надлежащим образом. Выполните следующие действия.
- Перейдите в родительский каталог программы установки, например:
cd ~/ncc-onprem-installer/
- Выполните команду source ~/.bash_profile
Если вышеописанные действия не помогут решить проблему, выполните следующие действия.
- Удалите Podman, sudo yum, удалите podman-remote
- Выйдите из системы и войдите снова.
- Перейдите в родительский каталог программы установки, например:
cd ~/ncc-onprem-installer/
- Выполните bash ExternalDependencies/install.sh.
Не выполняйте никаких команд с root/sudo- доступом, если прямо не указано иное.
2023-03-22 03:27:12 : ERROR : Main : 48 : Failed to start Postgres.
Это сообщение об ошибке появляется, когда контейнер Docker Postgres не способен вместить объем узла из-за проблемы с разрешением. Выполните следующие действия:·
- Перейдите в родительский каталог программы установки, например,
cd ~/ncc-onprem-installer/ - Выполните команду docker load -i images/postgres.tar.gz
- Затем запустите:
docker run -d \
--env POSTGRES_PASSWORD='PostPass1234' \
--volume ~/connect/postgres/data:/var/lib/postgresql/data \
--publish 5432:5432 \
--network host \
--user 0 \
--restart always \
--name postgres \
docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.2 - Это позволит решить проблемы с разрешением в каталоге узла.
- Теперь выполните следующую команду, чтобы удалить контейнер Docker Postgres.
docker rm -f postgres - Наконец, запустите MainInstaller еще раз.
bash MainInstall.sh
Медиасерверу требуется 1:1 NAT, что означает, что любой исходящий и входящий трафик для медиасервера для Интернета должен использовать общедоступный IP-адрес. Медиасервер автоматически обнаруживает свой общедоступный IP-адрес для использования протокола STUN после настройки 1:1 NAT для медиа-сервера на вашем маршрутизаторе или брандмауэре. Перейдите в интерфейс администратора WebRTC-шлюза и убедитесь, что медисервер может определить его общедоступный IP-адрес.
https://adminwebrtc.yourdomain.com/admin/#/servers
Media Server недоступен для клиентов даже после того, как 1: 1 NAT работает нормально
Клиент WebRTC использует ICE и пытается установить поток для передачи аудио и видеоданных с медиасервером в следующем порядке:
UDP в диапазоне портов от 35000 до 65535
TCP через порт 3478
TLS через порт 443
Клиент C12 на базе WebRTC попробует все варианты (TCP и UDP), прежде чем переключится на TLS через порт 443
Connect 12.2 по умолчанию разработан с учетом того, что CPS, WebRTC и New Connect Cluster (он же NCC) находятся в одном и том же VLAN/VPC или широковещательном домене. Если вы используете их в разных сетях, убедитесь, что у вас есть надлежащая маршрутизация третьего уровня между CPS и NCC/WebRTC, чтобы иметь сетевое подключение в обоих направлениях.
Чтобы проверить сетевое соединение между CPS и NCC, используйте CURL и Telnet.
Подключение CPS и NCC работает только через HTTPS-соединение.
Приведенная ниже ошибка появляется в журналах контейнера FMGW. Второй экземпляр Redis настроен на работу в качестве реплики.
ОШИБКА [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z Непредвиденная ошибка в бездействующем потоке.
StackExchange.Redis.RedisServerException: ТОЛЬКО ДЛЯ ЧТЕНИЯ Вы не можете писать против реплики только для чтения.
Решение:
Откройте файл конфигурации, соответствующий сервису Redis, и измените значение атрибута «slave-read-only» на «no».
В качестве решения выполните следующие действия:
- cd ncc-onprem-installer.
- mv Images images.
- sed -i 's/Images\\//images\\//' Installer/utils/global_constants.py.
- Удалить — выполнить uninstall.sh.
- Переустановить — выполнить MainInstall.sh.
Исключения InfluxDB в журналов в данный момент можно игнорировать
После перезагрузки экземпляра и повторного запуска контейнера Docker вы увидите исключения в журнале для контейнера CAS.
Для решения этой проблемы перезапустите контейнер CAS. Введитеdocker restart cas.