Перейти к основному содержимому

Развертывание в демонстрационной среде Платформы

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

к сведению

При развертывании в полнофункциональной среде демонстрации возможностей Платформы все роли объединены на одном сервере (стенде).

Подготовка к развертыванию

предупреждение

Убедитесь, что сервер отвечает минимальным системным требованиям, указанным в разделе Окружение и системные требования. Убедитесь, что сервер имеет записи в DNS-сервере, и что на всех серверах стенда, а также на компьютерах пользователей стенда, используется именно этот DNS-сервер.

При помощи программы для передачи файлов по ssh (например, WinSCP) переместите архив с дистрибутивом Платформы в директорию /opt. Перейдите в консоль ssh на стенде.

Повысьте права командой

sudo -i
к сведению

Для корректной работы Платформы Атомкод необходимо задать значение параметра fs.inotify.max_user_instances в операционной системе не меньше, чем 524288.

Чтобы задать значение параметра, выполните команду

echo fs.inotify.max_user_instances=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Измените имя хоста с помощью утилиты hostnamectl:

hostnamectl set-hostname "test.pmd.local"

Обеспечьте разрешение имени сервера на самом сервере. Для проверки корректности разрешения имени сервера воспользуйтесь командой:

ping <Имя Стенда>

где:

  • Имя Стенда: FQDN стенда, например, test.pmd.local.

В результате выполнения команды должен отображаться ip-адрес стенда.

Если ip-адрес стенда не отображается либо отображается как 127.0.0.0/8, необходимо настроить используемый в сети DNS-сервер либо, при его отсутствии, добавьте имя стенда в файл /etc/hosts, командой:

echo "<IP-адрес> <Имя Стенда>" >> /etc/hosts

где:

  • Имя Стенда: FQDN стенда, например, test.pmd.local.
  • IP-адрес: ip-адрес стенда.

Перейдите директорию /opt командой

cd /opt

Распакуйте архив с дистрибутивом

tar xzvf platformmd.*.tar.gz

Перейдите в директорию с docker-образами командой

cd /opt/platform/docker

Импортируйте docker-образы командой

docker load --input platformmd.tar

Перейдите в директорию /opt/platform/scripts/ командой

cd /opt/platform/scripts/

Добавьте права на запуск файлов командой

chmod +x *.sh

Запустите скрипт подготовки системы в зависимости от ОС:

  • ./prepare_system_AstraLinux.sh;
  • ./prepare_system_Ubuntu.sh;
  • ./prepare_system_Debian.sh.

Скрипт установит или обновит Docker и прочие необходимые пакеты:

  • apt-пакеты: vim mc xxd git make build-essential python3 python3-dev python3-pip apt-transport-https ca-certificates curl wget gnupg lsb-release acl docker.io.
  • python3-пакеты: ansible docker-compose psycopg2-binary glances jmespath.

Перезагрузите систему (ответьте Y, система перезагрузится).
Повысьте права после перезагрузки командой

sudo -i

В дистрибутиве в директории /opt/platform/files/ находятся файлы сертификатов:

  • external-certificate.pem: цепочка сертификатов серверов домена pmd.local, включающая сертификат сервера test.pmd.local, а также все промежуточные УЦ и корневой УЦ для внешнего домена. Используется для взаимодействия с https://test.pmd.local.
  • external-certificate.key.pem: ключ сертификата серверов домена pmd.local.
  • external-root.crt: цепочка сертификатов, включающая в себя все промежуточные УЦ и корневой УЦ для внешнего домена.
  • git-root.crt: корневой сертификат, которым подписан сертификат внешнего git-репозитория проектов devtools.
  • internal-certificate.pem: цепочка сертификатов серверов домена pmd.local, включающая сертификат сервера test.pmd.local, а также все промежуточные УЦ и корневой УЦ для внутреннего домена. Используется для внутреннего межсервисного взаимодействия.
  • internal-certificate.key.pem: ключ сертификата серверов домена pmd.local.
  • internal-root.crt: цепочка сертификатов, включающая в себя все промежуточные УЦ и корневой УЦ для внутреннего домена.
предупреждение

В составе дистрибутива эти файлы относятся к серверу только в домене pmd.local.
Если стенд находится в другом домене, то содержимое файлов с префиксом external следует заменить.
Также можно заменить содержимое файлов с префиксом internal. Внутренние сертификаты могут не совпадать с внешними.

Запустите скрипт, который скопирует файлы сертификатов командами, установит portainer, загрузит docker-образы в локальный docker-registry и установит ansible:

cd /opt/platform/scripts/
./prepare_monostand.sh
подсказка

После выполнения скрипта переопределите при необходимости пароль для portainer, перейдя по адресу https://test.pmd.local:9000.
Предустановленные логин и пароль: логин: admin пароль: zaq1!QAZxsw2.

Выполните скрипт подготовки Inventory-стенда:

к сведению

Если вы планируете использовать большие языковые модели, то предварительно разверните сервер vLLM.

./make_inventory.sh -s <имя стенда> -t <FQDN стенда> -b <FQDN стенда> -u <пароль пользователя с правами администратора postgres> -l <пароль пользователя сервисов Платформы в postgres> -v <версия устанавливаемого релиза Платформы> -a <ветка> -h <git-хост> -r <репозиторий> -m <расположение git>

где:

  • имя стенда: имя стенда используется для удобства работы с inventory. Имя директории стенда в inventory совпадает с именем стенда, так что следует избегать символов, недопустимых в имени директорий.
  • пароль пользователя с правами администратора postgres: пароль для postgres-пользователя с логином postgres, который обладает правами superuser в postgres на сервере;
  • пароль пользователя сервисов Платформы в postgres: пароль для postgres-пользователя с логином platform, который будет владельцем баз данных Платформы в postgres на сервере;
  • версия устанавливаемого релиза Платформы: например, 4.1.0 без кавычек;
  • ветка: ветка git-репозитория проектов devtools, например, develop;
  • git-хост: адрес сервера с git-репозиториями проектов devtools, например, внутренний хост стенда в домене pmd.local: _http://devtoolsgit.pmd.local:80/git_;
  • репозиторий: имя репозитория проектов devtools, например локально на стенде по-умолчанию создаётся pmd-repo;
  • расположение git: указание на используемый git-репозиторий, если используется внутренний git-репозиторий стенда, то указывается local, если внешний — external.

Пример:

./make_inventory.sh -s test.pmd.local -t test.pmd.local -b test.pmd.local -u Pass1 -l Pass2 -v 4.0.2 -a develop -h http://devtoolsgit.pmd.local:80/git -r pmd-repo -m local

Скопируйте свой файл лицензии в директорию /opt/platform/installer/files, переименовав его в license.lic.

к сведению

Если у Вас нет файла лицензии, установите лицензию позже, после развертывания Платформы.

Установите ansible.

./install_ansible.sh

Развертывание Платформы

После выполненной подготовки вы можете приступить к развертыванию Платформы в демонстрационной среде.

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

cd /opt/platform/scripts/
./run_ansible_playbooks_monostand.sh -s <Имя стенда> -d <Внутренний домен Платформы>

где:

  • Имя стенда: имя стенда, например, test.pmd.local;
  • Внутренний домен Платформы: внутренний домен Платформы, используемый для межсервисного взаимодействия, например, pmd.local.

Дождитесь завершения установки, это может занять 20-30 минут.

к сведению

Указанный выше внутренний домен Платформы должен соответствовать файлам сертификатов internal-certificate.pem, internal-certificate.key.pem и internal-root.crt.