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

Развертывание Explyt Enterprise

Описание

При развертывании Explyt Enterprise компания получает API-ключ в рамках лицензии. Чтобы получить этот ключ, необходимо предоставить компании Explyt будущий URL-адрес сервера лицензий (он может находиться и в локальной сети). Этот API-ключ позволяет развернуть кластер Explyt Enterprise и использовать его возможности через плагин к IntelliJ IDEA.

Как это работает

После развертывания всех сервисов процесс становится полностью прозрачным для пользователя. Пользователю плагина необходимо выбрать тариф Enterprise и ввести API-ключ в настройках.

После завершения настройки пользователи получают доступ ко всем функциям Explyt Test. Плагин автоматически собирает статистику использования и отправляет её в MinIO для хранения.

Когда пользователь отправляет запрос, он сначала перенаправляется на сервер лицензий, который проверяет действительность лицензии. После этого запрос пересылается в HAProxy, который распределяет его на соответствующий сервер LLM.

Ansible Playbook

Explyt Enterprise может быть развернут с помощью Ansible playbook. Данный playbook протестирован на Ubuntu 22.04 LTS.

Предварительные требования

Установите Ansible (>=2.15.0):

pip3 install ansible-core==2.17.7 ansible==10.7.0

Установите Ansible коллекцию Docker:

ansible-galaxy collection install community.docker

Переменные Playbook

Для большинства переменных заданы значения по умолчанию.

Измените следующие переменные в group_vars/licence-server/common.yml:

licence_server_version: ''
licence_server_token: "" # TODO: Добавьте токен
licence_server_private_key: "" # TODO: Добавьте приватный ключ

Измените следующие переменные в group_vars/llm-server/common.yml:

llm_server_version: ''

Измените следующие переменные в group_vars/all/common.yml:

haproxy_host: "" # TODO: укажите IP-адрес HAProxy
haproxy_backend_servers:
- 127.0.0.1:9000
- ... # TODO: добавьте все ваши хосты серверов LLM в формате IP:9000
grafana_loki_host: "" # TODO: укажите хост системы мониторинга
s3_host: "" # TODO: укажите адрес MinIO или другого S3
s3_port: "" # TODO: замените, если не используете MinIO
s3_access_key: "" # TODO: замените, если не используете MinIO
s3_secret_key: "" # TODO: замените, если не используете MinIO
s3_bucket: "" # TODO: замените, если не используете MinIO
s3_region: "" # TODO: замените, если не используете MinIO

Развертывание Explyt Enterprise

Пример файла инвентаризации:

[all:children]
llm-server
licence-server
haproxy
minio

[licence-server]
licence-server_01 ansible_host=...

[llm-server]
llm-server_01 ansible_host=...
; Добавьте другие хосты серверов LLM

[haproxy]
haproxy_01 ansible_host=...

[minio]
minio_01 ansible_host=...

Запуск развертывания:

ansible-playbook -i ansible_hosts.ini deploy.yml

Ручная установка

Если вы хотите развернуть Explyt Enterprise вручную, используйте следующие Docker-образы:

  1. Сервер LLM: cr.yandexcloud.kz/crk4ec9a4msbq0ssusja/explyt-llm-server:0.0.3
  2. Сервер лицензий: cr.yandexcloud.kz/crk4ec9a4msbq0ssusja/explyt-licence-server-t1-cloud:v1.0.0-enterprise

Docker login:

cat ./files/docker_login_cred.json | docker login --username json_key --password-stdin cr.yandexcloud.kz/crk4ec9a4msbq0ssusja