Действия

PVE. Установка сервисного пакета окружения: различия между версиями

Материал из Флора AI

Нет описания правки
Нет описания правки
Строка 19: Строка 19:
====='''Установка/обновление пакета окружения'''=====
====='''Установка/обновление пакета окружения'''=====
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/pve&fileid=612 Дистрибутив] распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в ''онлайн'' режиме, при наличии прямого доступа в интернет или через прокси. Для установки в оффлайн режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет.
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/pve&fileid=612 Дистрибутив] распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в ''онлайн'' режиме, при наличии прямого доступа в интернет или через прокси. Для установки в оффлайн режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет.
* Загрузить последнюю версию продукта <code>curl -s "<nowiki>https://repo.connect2ai.net/api/see/new</nowiki>" --user '[user]:[pass]' 2>&1 | bash</code> или в интерактивном режиме <code>bash -c "$(curl -s <nowiki>https://repo.connect2ai.net/api/see</nowiki> --user '[user]:[pass]' 2>&1)"</code>.
* Загрузить последнюю версию окружения <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/new</nowiki>" --user '[user]:[pass]' 2>&1 | bash</code> или в интерактивном режиме <code>bash -c "$(curl -s <nowiki>https://repo.connect2ai.net/api/pve</nowiki> --user '[user]:[pass]' 2>&1)"</code>.
* Обновить SEE <code>/opt/see/inupdate</code> в интерактивном режиме. Или запустить с ключём:
* Обновить PVE <code>/opt/pve/inupdate</code> в интерактивном режиме. Или запустить с ключём:
** <code>/opt/see/inupdate -b</code> - обновить до последней beta версии;
** <code>/opt/pve/inupdate -b</code> - обновить до последней beta версии;
** <code>/opt/see/inupdate -r</code> - обновить до последней release версии;
** <code>/opt/pve/inupdate -r</code> - обновить до последней release версии;
** <code>/opt/see/inupdate -n</code> - обновить до последней версии (не важно beta или release).
** <code>/opt/pve/inupdate -n</code> - обновить до последней версии (не важно beta или release).
* Проверить актуальную версию продукта <code>curl -s "<nowiki>https://repo.connect2ai.net/api/see/version</nowiki></code>.
* Проверить актуальную версию окружения <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/version</nowiki></code>.
* Посмотреть лог изменений  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/see/changelog</nowiki>" --user '[user]:[pass]'</code>.
* Посмотреть лог изменений  <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/changelog</nowiki>" --user '[user]:[pass]'</code>.
* Полное описание всех команд API репозитория можно найти по ссылке '''https://repo.connect2ai.net/api'''. <code>[user]:[pass]</code> - это тот же логин и пароль, что и от [https://cloud.connect2ai.net '''Nextcloud'''.]
* Полное описание всех команд API репозитория можно найти по ссылке '''https://repo.connect2ai.net/api'''. <code>[user]:[pass]</code> - это тот же логин и пароль, что и от [https://cloud.connect2ai.net '''Nextcloud'''.]
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
* В папке с окружением можно добавить 2 файла конфигурации (данные фалы так же будут использоваться продуктами при отсутствие у них своих):
** echo -n <code>"[user]:[pass]"</code>  > /opt/see/.userapi (это файл авторизации в API, нужен для обновления)
** echo -n <code>"[user]:[pass]"</code>  > /opt/pve/.userapi (это файл авторизации в API, нужен для обновления)
** echo -n <code>"<nowiki>http://example.com:3128</nowiki> [user] [password]"</code>  > /opt/see/.proxy (это файл конфигурации proxy необходим для обновления, при отсутсвующем прямом подключение к интернету)
** echo -n <code>"<nowiki>http://example.com:3128</nowiki> [user] [password]"</code>  > /opt/pve/.proxy (это файл конфигурации proxy необходим для обновления, при отсутсвующем прямом подключение к интернету)
 
При обновление следующий список файлов и папок сохранияется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.





Версия от 06:36, 17 сентября 2024

Общее описание

Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального python3 окружения для работы сервисов:

   • Short Phrase Recognizer
   • Simple Biometry Server
   • Simple Entity Extractor
   • Simple Message Classifier
   • Text To Speech Server
Термины и определения

Python Virtual Environment (PVE) – пакет для установки python3 окружения для сервисов. Самостоятельно PVE не используется.


Расчет нагрузки

Для установки пакета требуется свободное место в каталоге /opt не менее 3Gb, без поддержки видеокарты, и/или 8Gb с поддержкой.

Так же при установки используется временная папка, куда распаковывается содержимое архива до 7Gb.


Установка/обновление пакета окружения

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

  • Загрузить последнюю версию окружения curl -s "https://repo.connect2ai.net/api/pve/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/pve --user '[user]:[pass]' 2>&1)".
  • Обновить PVE /opt/pve/inupdate в интерактивном режиме. Или запустить с ключём:
    • /opt/pve/inupdate -b - обновить до последней beta версии;
    • /opt/pve/inupdate -r - обновить до последней release версии;
    • /opt/pve/inupdate -n - обновить до последней версии (не важно beta или release).
  • Проверить актуальную версию окружения curl -s "https://repo.connect2ai.net/api/pve/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/pve/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] - это тот же логин и пароль, что и от Nextcloud.
  • В папке с окружением можно добавить 2 файла конфигурации (данные фалы так же будут использоваться продуктами при отсутствие у них своих):
    • echo -n "[user]:[pass]" > /opt/pve/.userapi (это файл авторизации в API, нужен для обновления)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/pve/.proxy (это файл конфигурации proxy необходим для обновления, при отсутсвующем прямом подключение к интернету)


Варианты использование инсталлятора

Описание ключей установки приведено в таблице

Параметр Назначение
-i/--install Установить сервис в online/offline режиме с минимальным, максимальным, для ups набором модулей . Режим выбирается ключами -off -on
-off/--offline установка оффлайн (необходимо предварительно собрать скрипт с ключем -b/--build)
-on/--online Установка онлайн (собирать с ключем -b/--build не надо)
-m/--minimal Установка миниального набора модулей pip3 для продов
-f/--full Установка полного набора модулей pip3 с возможностью варки моделей
-ups/--uinstall Установка выделенного окружения под UPS со своим списком pip3 модулей
-e/--extract Скопировать внутренний архив рядом со скриптом
-p/--pack имя_архива запаковать архив в скрипт, архив создавать без абсолютных каталогов tar -czvf urs-install.tgz -C archive $(ls -A archive)
-d/--dir путь/имя_каталога Используется совместно с -p/--pack или -e/--extract, сжать\распаковать каталог в\из архива
-b/--build Скачать все пакеты, и модули, и упаковать в тело скрипта для оффлайн установки
-n/--null Удалить внутренний архив из скрипта
-r/--renew full/minimal имя_файла вписать в скрипт новый full/minimal список pip модулей из внешнего файла

Примеры использования ключей

-Установить PVE полным набором модулей pip3 онлайн под варку

./pve-<версия>-<релиз>.sh -i -f -on

-Установить окружение онлайн под UPS со своим набором pip3 модулей

./pve-<версия>-<релиз>.sh -i -ups -on

-Установить сервис с минимальным набором модулей pip3 онлайн на прод

./pve-<версия>-<релиз>.sh -i -m -on

-Установить сервис из заранее собранного инсталлера

./pve-<версия>-<релиз>.sh -i -off

-Скопировать внутренний архив рядом со скриптом не распаковывая в папку

./pve-<версия>-<релиз>.sh --extract

-Запаковать архив в скрипт

./pve-<версия>-<релиз>.sh --pack <service>-offline.tgz

-Сжать каталог и запаковать архив в скрипт

./pve-<версия>-<релиз>.sh --pack -d <имя каталога>

-Распаковать внутренний архив рядом со скриптом в каталог

./pve-<версия>-<релиз>.sh -e -d archive

-Собрать все пакеты для установки оффлайн сервиса с полным набором модулей pip3 под варку

./pve-<версия>-<релиз>.sh --build -f

-Собрать все пакеты для установки оффлайн сервиса с минимальным набором модулей pip3 на прод

./pve-<версия>-<релиз>.sh --build -m

-Удалить внутренний архив из скрипта

./pve-<версия>-<релиз>.sh --null


Удаление окружения

Для удаления выполните команду: /opt/pve/uninstall.


Часто задаваемые вопросы
Вопрос Ответ