Перейти к основному содержимому
Версия: 2.0.x

Установка Selena All-in-One в офлайн-режиме

Офлайн-режим используется, когда ВМ не имеет доступа к интернету и не может обращаться к hub.selena.sh. Все, что нужно установщику, должно быть заранее подготовлено и скопировано на сервер в составе офлайн-бандла.

Установите офлайн-пакеты ОС​

Перед загрузкой контейнерных образов установите системные пакеты из локального репозитория бандла. Пример ниже приведен для Ubuntu 24.04 amd64. Если используется другая ОС, выберите соответствующий каталог внутри os-packages.

cd /<путь к установочным файлам>/containers  
sudo ./os-packages/ubuntu-24.04-amd64/install-os-packages.sh

Загрузите контейнерные образы локально​

Скрипт load-all.sh загружает контейнерные образы из tar-файлов в локальное хранилище Podman. В офлайн-режиме это обязательный шаг.

cd /<путь к установочным файлам>/containers  
sudo ./load-all.sh

После загрузки можно проверить список локальных образов:

sudo podman images | head -50

Проверьте offline-all-in-one.deploy.yaml​

Для All-in-One offline используется файл selena-podman/examples/offline-all-in-one.deploy.yaml. В нем должны быть указаны локальный каталог бандла, запрет pull из интернета, путь к локальным пакетам ОС и режим All-in-One.

registry:  
mode: offline
bundleDir: /opt/selena-bundle/containers
pullPolicy: never

podman:
bootstrap:
installPackages: false
osPackagesBundle: /opt/selena-bundle/containers/os-packages

controlPlane:
publicHost: VM_IP_OR_DNS

license:
file: /run/selena-input/license.jwt

engine:
allInOne: true
clusterMode: SHARED_NOTHING
allInOneHost:
ПараметрЧто указать и зачем это нужно
registry.mode: offlineУстановщик не обращается к внешнему registry.
registry.bundleDirКаталог, где лежат tars, images-offline.yaml и load-all.sh.
registry.pullPolicy: neverЗапрещает pull из интернета. Если образ не загружен локально, установка остановится с ошибкой.
installPackages: falseУстановщик не пытается ставить пакеты из интернет-репозиториев.
osPackagesBundleПуть к локальному набору пакетов ОС.
controlPlane.publicHostIP или DNS VM, по которому будет открываться UI.
license.fileПуть к лицензии, подготовленной на VM.
engine.allInOne: trueEngine устанавливается на эту же VM.
allInOneHostОставьте пустым или укажите реальный IP/DNS VM. Не используйте 127.0.0.1.

Подготовьте лицензию​

Скопируйте фактический файл лицензии из бандла или другого защищенного каталога в /run/selena-input/license.jwt.

sudo install -d -m 0700 /run/selena-input  
sudo cp /<путь к лицензии>/<имя_файла_лицензии>.bin /run/selena-input/license.jwt
sudo chmod 0600 /run/selena-input/license.jwt

Запустите All-in-One offline install​

Запустите процедуру установки выполнив команды:

cd /<путь к установочным файлам>/selena-podman  
sudo ./scripts/install.sh
examples/offline-all-in-one.deploy.yaml
/<путь к установочным файлам>/containers/images-offline.yaml

Проверьте состояние сервисов​

После завершения установки выполните статусный скрипт. Он покажет состояние контейнеров и основных компонентов.

sudo ./scripts/status.sh

Ожидаемый результат: сервисы, относящиеся к Selena CM, Engine, БД, Keycloak, MinIO, мониторингу и другим встроенным компонентам, находятся в состоянии Running/healthy.

Если часть сервисов не поднялась

Подождите 2-5 минут и повторите status.sh. Некоторые контейнеры стартуют дольше остальных.

Получите учетные данные и откройте UI​

Установщик сохраняет первичные учетные данные в файле с секретами. Откройте файл только на сервере и не пересылайте его в общие чаты.

sudo cat /run/selena/secrets/all-in-one-credentials.txt

После этого откройте браузер с рабочей станции, которая имеет сетевой доступ к ВМ:

http://<VM_IP_OR_DNS>:8088
Если страница не открывается

Проверьте, что в controlPlane.publicHost указан правильный адрес, порт 8088 не блокируется firewall и сервисы успешно поднялись по status.sh.