Развертывание в демонстрационной среде Платформы
Для развертывания в полнофункциональной среде демонстрации возможностей Платформы требуется провести подготовку.
При ра звертывании в полнофункциональной среде демонстрации возможностей Платформы все роли объединены на одном сервере (стенде).
Подготовка к развертыванию
Убедитесь, что сервер отвечает минимальным системным требованиям, указанным в разделе Окружение и системные требования. Убедитесь, что сервер имеет записи в 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
Перейдите в директорию /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
.