Skip to content

Установка

Установка Catena Streaming Engine состоит из следующих этапов:

  1. Подготовка оркестратора Kubernetes на примере установки системы k3s
  2. Подготовка окружения внутри запущенного kubernetes
  3. Установка 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 и у первого стримера.

После этого обновите конфигурацию по инструкции выше.

Добавление серверов

Добавить второй сервер можно по инструкции по добавлению сервера