Установка¶
Установка Catena Streaming Engine состоит из следующих этапов:
- Подготовка оркестратора Kubernetes на примере установки системы k3s
- Подготовка окружения внутри запущенного kubernetes
- Установка Catena SE
Catena SE разрабатывается с расчетом на запуск под kubernetes. Этот архитектурный выбор позволяет строить системы, переживающие выход из строя любого сервера из вашего кластера.
Требования для установки¶
- Один и более серверов для установки всего стримингового ПО под управлением Ubuntu 24.04
Установка kubernetes на головном сервере¶
Команду надо выполнить на головном сервере.
curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - kube --control-ip 192.168.0.2
--control-ip — внутренний IP-адрес сервера на случай, если на нём больше одного интерфейса. Это тот адрес, по которому будут подключаться другие ноды. Опция не обязательная.
--public-ip - публичный IP адрес сервера для подключения к кубернетесу снаружи. Можно не указывать, если будете обращаться только через VPN. Опция не обязательная.
Вы увидите следующий вывод:
# curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - kube --public-ip 1.2.3.4
Installing k3s server on this host (visible as 192.168.0.2)
Token will be stored in /var/lib/rancher/k3s/server/node-token (copy to agent hosts for join)
[INFO] Finding release for channel stable
[INFO] Using v1.34.4+k3s1 as release
...
Writing k3s.yaml to /root/k3s.yaml ...
Waiting for k3s API to be ready ...
NAME STATUS ROLES AGE VERSION
streamer3 NotReady <none> 0s v1.34.4+k3s1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11929 100 11929 0 0 57359 0 --:--:-- --:--:-- --:--:-- 57628
[WARNING] Could not find git. It is required for plugin installation.
Helm v4.1.1 is already latest
Multus manifest written to /var/lib/rancher/k3s/server/manifests/multus.yaml
Next: export KUBECONFIG=/root/k3s.yaml (or run from this dir), then sh gateway
Теперь необходимо установить веб-сервер и прочие сопутствующие пакеты:
curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - gateway
root@streamer3:~# curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - gateway
Installing cert-manager (HelmChart manifest) ...
Release "cert-manager" does not exist. Installing it now.
Pulled: quay.io/jetstack/charts/cert-manager:1.19.3
Digest: sha256:c6edad39343c88a8f0ca4df93ee8ce1d049bffaffead3f325bbcb6df3358432f
NAME: cert-manager
LAST DEPLOYED: Sun Feb 15 13:50:01 2026
NAMESPACE: cert-manager
STATUS: deployed
...
https://cert-manager.io/docs/usage/ingress/
Waiting for cert-manager to be ready ...
...
Installing Envoy Gateway (HelmChart manifest) ...
Pulled: docker.io/envoyproxy/gateway-helm:1.7.0
Digest: sha256:fdc01017304bc676fb7097d1fe8ceda5cc1c9673bf1c01a7576898623b3310f7
NAME: eg
LAST DEPLOYED: Sun Feb 15 13:52:25 2026
NAMESPACE: envoy-gateway-system
STATUS: deployed
..
To get more details, please visit https://gateway.envoyproxy.io and https://github.com/envoyproxy/gateway.
Waiting for Envoy Gateway to be ready ...
Если увидите такие сообщения, то это не страшно:
Waiting for cert-manager to be ready ...
error: timed out waiting for the condition on pods/cert-manager-6c46b7bb4-jlvrj
Просто установка может занять больше времени, чем ожидалось.
Если что-то пойдет не так, то перед повторной установкой надо удалить старую инсталяцию:
sudo k3s-uninstall.sh
Настройка инсталяции¶
В этом разделе будет описано, как запустить Catena SE на одном сервере без балансировщика, без TLS.
Для этого этапа нужно подготовить лицензионный ключ и выяснить имя ноды.
Имя ноды выясняется следующим образом на сервере:
# kubectl get nodes
NAME STATUS ROLES AGE VERSION
streamer3 Ready control-plane 14m v1.34.4+k3s1
Далее надо создать на целевом сервере файл catena-se.yaml
license: "my-license-key"
streamers:
hosts:
- node: streamer3
Что надо настраивать в этом файле?
my-license-keyзаменяется на ваш лицензионный ключ, который надо взять в личном кабинетеstreamer3для каждого стримера в кластере надо прописать имя этой ноды, которое доступно вkubectl get nodes
Теперь можно установить само приложение:
curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - app --values catena-se.yaml
Будет следующий вывод:
root@streamer3:~# curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - app --values catena-se.yaml
Applying central-operator ...
namespace/central-operator-system created
customresourcedefinition.apiextensions.k8s.io/centrals.media.flussonic.com created
serviceaccount/central-operator-controller-manager created
role.rbac.authorization.k8s.io/central-operator-leader-election-role created
clusterrole.rbac.authorization.k8s.io/central-operator-manager-role created
clusterrole.rbac.authorization.k8s.io/central-operator-metrics-reader created
...
service/media-server-operator-controller-manager-metrics-service created
deployment.apps/media-server-operator-controller-manager created
pod/media-server-operator-controller-manager-7d566d4b7c-8wlnd condition met
Installing Catena SE helm chart (--values catena-se.yaml) ...
Release "tv" does not exist. Installing it now.
Pulled: docker.io/flussonic/catena-se:26.2.3
Digest: sha256:62d58a19ccecb18171e702921821d91fa476b5916701748fb73d9db618d416c5
NAME: tv
LAST DEPLOYED: Sun Feb 15 14:05:26 2026
NAMESPACE: catena-se
STATUS: deployed
REVISION: 1
DESCRIPTION: Install complete
NOTES:
Your login is `root`
Your current Catena SE password can be extracted with following command:
kubectl -n catena-se get secret license -o jsonpath='{.data.edit_auth}' | base64 --decode | awk -F : '{print $2}'
Теперь выполните последнюю команду и получите пароль.
# kubectl -n catena-se get secret license -o jsonpath='{.data.edit_auth}' | base64 --decode | awk -F : '{print $2}'
6CytVA00aFYpvQ
Проверка инсталяции¶
Надо зайти на адрес http://your-installation
Введите логин и пароль с предыдущего шага

Обновление настроек приложения¶
Если вы поменяли файл с настройками инсталяции, можно обновить инсталяцию
curl -sfL https://flussonic.ru/doc/catena-se/install.sh | sh -s - app --values ./catena-se.yaml
Т.е. повторный запуск скрипта с режимом прогона app позволит обновить приложение и заново применить настройки.
Включение HTTPS¶
Надо отредактировать catena-se.yaml и добавить секцию ingress:
license: ...
ingress:
host: my-server-hostname.com
streamers:
hosts:
- node: streamer3
host: my-server-hostname.com
...
Т.е. один и тот же хостнейм надо указать и в настройках ingress и у первого стримера.
После этого обновите конфигурацию по инструкции выше.
Добавление серверов¶
Добавить второй сервер можно по инструкции по добавлению сервера