Flussonic k8s Media Server Operator¶
media-server-operator это расширение для Kubernetes, позволяющее упростить запуск нескольких экземпляров media server с одинаковой конфигурацией. Можно запустить без оператора, прописав все необходимые настройки руками, после чего придется отслеживать все изменения и поддерживать новые возможности Flussonic вручную.
media-server-operator берет на себя следующие вопросы, специфичные для Kubernetes:
- организация хранения лицензионных данных, позволяющая перезапускать медиасервер при потере связи с сервером лицензий
- запуск строго по одному экземпляру на одном сервере с возможностью использования прямого подключения к сети (HostPort)
- настройка всех механизмов мониторинга и слежения за запуском сервера
- удобная настройка конфигурационного файла, защищенного от перезаписи в процессе работы
- создание сервиса для балансировки проигрывания с пула медиасерверов
Работа media-server-operator подразумевается вместе с central-operator, который обеспечит доставку конфигурации потоков до каждого экземпляра медиа сервера.
Запуск оператора¶
Для того, чтобы воспользоваться оператором, достаточно просто поставить в систему yml файл c CRD (описанием нового типа).
Вам нужен запущенный Kubernetes и настроенный на него kubectl
kubectl apply -f https://flussonic.github.io/media-server-operator/latest/operator.yaml
Для продакшн инсталяции рекомендуем жестко указывать версию, полный список которых доступен в репозитории, например:
kubectl apply -f https://flussonic.github.io/media-server-operator/24.3.3/operator.yaml
После этого можно запускать медиасервера. Пример, который создаст секрет с лицензией и запустит медиасервер ниже:
kubectl label nodes streamer flussonic.com/streamer=true
kubectl create secret generic flussonic-license \
--from-literal=license_key="${LICENSE_KEY}" \
--from-literal=edit_auth="root:password"
kubectl apply -f https://raw.githubusercontent.com/flussonic/media-server-operator/master/config/samples/media_v1alpha1_mediaserver.yaml
Вместо ${LICENSE_KEY}
надо подставить ваш лицензионный ключ.
После выполнения этих действий на ноде с именем streamer
запустится медиасервер.
Поставка¶
Мы упаковали оператор так, чтобы им было максимально удобно пользоваться как в подключенном к интернету облаке, так и в приватном. Он состоит из двух частей:
- yml файл с описанием k8s CRD (за этими абревиатурами прячется описание нового типа объектов для кубернетеса)
- docker образ с нашим кодом на https://hub.docker.com/r/flussonic/media-server-controller
Их можно скачать и хранить у себя локально.