Перейти к содержанию

Запуск ВКС в Kubernetes

Настройка переменных в Helm chart

Для запуска ВКС в K8s используется менеджер пакетов Helm. Перед запуском Helm необходимо изменить значения переменных (Секретов, Доменных имен и IP адресов) в файле values.yaml.

values.yaml

Скрипт gen-passwords.sh

1f-meet-web.yaml

1f-meet-prosody.yaml

1f-meet-jvb.yaml

1f-meet-jicofo.yaml

1f-meet-jibri.yaml

1f-meet-ingress.yml

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

 name: 1forma-ingress

spec:

 ingressClassName: nginx

 rules:

   - host: {{ .Values.domainName }}

     http:

       paths:

         - pathType: Prefix

           backend:

             service:

               name: web

               port:

                 number: 80

           path: /

 tls:

   - hosts:

     - {{ .Values.domainName }}

     secretName: 1forma-tls

 

---

apiVersion: v1

kind: Secret

metadata:

 name: 1forma-tls

data:

 tls.crt: {{ .Values.tlsCertBase64 }}

 tls.key: {{ .Values.tlsKeyBase64 }}

type: kubernetes.io/tls

Если по какой-то причине у вас нет возможности использовать Helm в вашем K8s, вы можете отредактировать yaml-файлы и работать с ними как с классическими манифестами. Для этого замените значения {{ .Values. }} на значения переменных в файле values.yaml.

Обратите внимание: в параметре advertiseIpList необходимо через запятую передать список IP адресов для формирования ICE Candidate pair в WebRTC. Как правило, это Real IP с которого проброшен 10000/UDP порт или локальный адрес Ноды.

Необходимо пробросить порт 10000 к поду JVB. В настройках нашей конфигурации мы используем сервис JVB типа Load Balancer с возможностью балансировки UDP. Для вашей конфигурации можно использовать NodePort. Описание сервиса JVB находится в файле 1f-meet-jvb.yaml (см. шаблоны выше). Доступ по протоколам HTTP/HTTPS осуществляется через Ingress, который в нашей конфигурации реализован с использованием Ingress Nginx.

Установка ВКС

Запустите команду для установки и настройки ВКС:

helm install 1f-meet 1f-meet-k8s/

Настройка сервиса ВКС в приложении "Первая Форма"

В режиме администрирования Первой Формы перейдите в раздел "Сервисы".

Если в списке существующих сервисов есть сервис с типом "ВКС", перейдите к его настройкам. Если такого сервиса нет, создайте его по кнопке "Добавить сервис".

Заполните настройки сервиса:

  • Сервис: ВКС.

  • Описание: Имя сервиса ВКС.

  • Домен: Доменное имя сервиса ВКС.

  • Секретный ключ: Значение jwtAppSecret переменной из предыдущего шага.

  • Operation Address: /app/v1.2/api/publications/action/conference-actions.

  • Группа пользователей с комнатами: ID группы, для которых будет доступен сервис. Обычно это группа "Все пользователи".

  • Префикс комнаты: Оставьте пустым.

  • Смарт-фильтр проверки модератора: создайте новый фильтр. Задайте произвольное имя (например, ВКС модератор) Выберите тип TSQL.

Смарт-выражение:

select dbo.fnIsConferenceModerator(@eventParam1, @eventParam0)

Сохраните. Выберите созданный фильтр в настраиваемом сервисе.

  • Расширенные настройки (json):

{"externalModuleKey":"formaApiSecret",

"roomCreationKey":"creationKey",

"recordHost":"https://records.domain.ru",

"recordsApiKey":"formaRecordSecret"}

где:

  • roomCreationKey - Ключ, необходимый для работы плагина Outlook. Он служит для аутентификации плагина при генерации временной комнаты. Cгенерируйте случайное значение.

  • externalModuleKey - Ключ для доступа к api модуля ВКС. Значение formaApiSecret.

  • recordHost - Адрес хоста ссылок на записи ВКС.

  • recordsApiKey - Ключ аутентификации для приема событий записи ВКС. Значение formaRecordSecret.

Сохраните настройки Сервиса.

Включите сервис ВКС в настройках приложения. Для этого перейдите в раздел "Общие настройки приложения".

Найдите пункт "ВКС" и во всплывающем меню выберите созданный сервис.

Сохраните изменения.