Видеостриминг в Кубернетес. Мы уже попробовали!

26.10.2022

4мин. чтения

Kubernetes x Flussonic

Мы постоянно говорим, что Flussonic – это all-in-one для работы с видео. Самостоятельное решение, закрывающее вопросы доставки видео от и до, чтобы вы могли забыть об использовании нестабильных инструментов. За достижения в области real time стриминга и не только, в этом году Flussonic снова включен в топ-50 компаний индустрии по версии Streaming Media. Месяц за месяцем, каждая новая версия Flussonic Media Server создается для того, чтобы делать пользовательский опыт еще круче, а управление – еще проще.

Не только developer, но и DevOps френдли

Flussonic давно придерживался курса “девелопер френдли”. Во-первых, софт – всегда актуальный. Регулярные релизы рождают каждый месяц на свет новые фичи для наших клиентов. И сделать с нашей помощью что-то свое, кастомное – не проблема.

Во-вторых, в этом году был совершен полный переход на OpenApi, так что теперь даже самые сложные интеграции делаются быстрее. Есть понятная инструкция, API-методы четко описаны и привязаны к “схеме”.

Ну а осенью 2022 мы ворвались в DevOps-мир, адаптировав Flussonic для Kubernetes. Управлять кластером серверов без личного участия, обновлять их одной кнопкой, динамически масштабироваться, устанавливать параметры при которых нужно добавлять ноды, наконец – спать по ночам, – все это доступно. Запустить Flussonic в среде Kubernetes и получить работающий сервер, готовый к приему публикаций, можно прямо сейчас.

Один из продуктов, который мы развиваем – Flussonic Cloud, готовый видеостриминговый сервис. Для Cloud используется Кубернетес (то есть имеем реальный опыт эксплуатации) – и нам это удобно. И вам тоже понравится :) Обращайтесь – расскажем, как наше облако менеджится через Кубернетес и поможем с вашим сервисом.

Как это было

Несколько слов про некоторые сделанные адаптации, которые были просто необходимы для обеспечения полной совместимости с k8s.

Пришлось придумать, что делать с файлами активации – мы нашли способ, чтобы Flussonic мог положить их в местную базу данных – куберовское хранилище секретов. Ключ, логин и пароль “приезжают” снаружи, из настроек кластера. То есть никакого складывания в git, ручного ввода паролей. Те, кому не надо, не будут иметь продакшн пароли от кластера. Хранение файлов в секретах также хорошо тем, что позволяет купленным флюссоникам быть независимыми какое-то время от серверов лицензий – в течение суток все будет работать, как и работало.

Одной из необходимых адаптаций также стала возможность записи логов в JSON-формате. Так, Кубернетес сразу, из коробки, сохраняет логи в свое хранилище, откуда их можно спокойно смотреть: “Я знаю что делать с логами, просто дай мне их сюда”. Использование стандартизированных инструментов таких, как этот, удешевит внедрение. Во-первых, не нужно тратить время чтобы придумать, куда эти логи писать. Устанавливать отдельный софт на отдельный сервер сбора логов, который бы их читал, периодически выгружал; потом еще один софт который бы распаковывал, складывал в базу данных, сжимал, индексировал… Во-вторых, если писать логи на диск, а не отдавать наружу, а у вас 50 флюссоников запущенных – пришлось бы еще догадываться, где искать логи нужного стрима. Вместо того, чтобы все смотреть в центральном месте. В третьих, потреблялись бы ресурсы на жестком диске. Каждый из этих 50 записывал бы свои кусочки логов, из-за чего еще и прогнозировать использование места сложно. В общем, об этом кошмаре можно забыть и не думать. Логи пишутся “централизованно”, удобно.

Гайды

Первое, о чем стоит напомнить – у нас всегда была и есть поддержка запуска в контейнере. А также инструкция, как это сделать.

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

На том, что сейчас сделано, тоже не останавливаемся – в ближайшее время, например, появится отдельный гайд именно для UGC-сервисов, так что будет еще удобнее.

P.S. Стоит отдельно упомянуть, что в k8s работают все модули Флюссоника. В том числе, наш знаменитый DVR с возможностью давать глубину архива больше года и бесшовный переход от просмотра записи в live трансляцию. Или например, транскодер с возможностью подготовки мультибитрейтного потока для устойчивого воспроизведения у зрителей с медленным интернетом.

Пользуйтесь, запускайте, все работает. Мы проверяли!

Бесплатный триал Flussonic Media Server

Отправляя заявку, вы соглашаетесь с правилами и условиями

Пожалуйста, заполните форму для получения бесплатного тестового ключа.

Если вы не получите от нас письмо в течение 30 мин, проверьте в спаме и добавьте наш адрес в избранные контакты.

Email: support@flussonic.com Phone: +7 (717) 272-78-21