Проверка файлов поставки

Если дистрибутив передан несколькими частями, сначала объедините их:

cat ml-offline-shipment-*.tar.xz.part-* > ml-offline-shipment.tar.xz

 

Проверьте контрольную сумму архива:

sha256sum -c ml-offline-shipment.tar.xz.sha256

 


Ожидаемый результат содержит OK.

Распакуйте архив:

mkdir -p polymatica-ml-offline
tar -xJf ml-offline-shipment.tar.xz \
  -C polymatica-ml-offline
cd polymatica-ml-offline

 


Проверьте контрольные суммы содержимого:

sha256sum -c release/checksums.txt

Подготовка конфигурации

Создайте рабочий конфигурационный файл:

cp install/offline-install.conf.example install/offline-install.conf
chmod 600 install/offline-install.conf 

Откройте install/offline-install.conf и укажите параметры целевого окружения.

Основные параметры:

NAMESPACE=offline
OFFLINE_BASE_DOMAIN=ml.example.local

REGISTRY=registry.example.local
REGISTRY_USER=<пользователь>
REGISTRY_PASSWORD=<пароль>

OFFLINE_DEPLOY_MODE=auto
OFFLINE_DEVPI_MODE=auto

Режим auto автоматически определяет, выполняется первоначальная установка или обновление существующего стенда.

Внутренние сервисы

При использовании PostgreSQL, Redis, MinIO, Devpi и Keycloak из состава поставки задайте пароли в конфигурационном файле:

OFFLINE_REQUIRE_SECURE_CREDENTIALS=true
OFFLINE_ALLOW_CREDENTIAL_ROTATION=false

OFFLINE_INTERNAL_POSTGRES_PASSWORD=<пароль>
OFFLINE_INTERNAL_REDIS_PASSWORD=<пароль>

OFFLINE_INTERNAL_MINIO_ROOT_USER=<пользователь>
OFFLINE_INTERNAL_MINIO_ROOT_PASSWORD=<пароль>

OFFLINE_INTERNAL_DEVPI_PASSWORD=<пароль>

OFFLINE_INTERNAL_KEYCLOAK_ADMIN_PASSWORD=<пароль>
OFFLINE_INTERNAL_KEYCLOAK_CLIENT_SECRET=<секрет>

При обновлении установщик повторно использует значения существующих Kubernetes Secret. Если переданные значения отличаются, обновление останавливается до внесения согласованных изменений.

Первоначальный пользователь

Укажите имя первоначального пользователя:

OFFLINE_INITIAL_ML_USERNAME=user-ml

Пароль можно передать явно:

OFFLINE_INITIAL_ML_PASSWORD=<начальный пароль>

Если пароль не указан, он будет сгенерирован автоматически. Актуальное значение сохраняется в Kubernetes Secret keycloak-ml-bootstrap-user.

TLS

Если TLS завершается в Kubernetes:

OFFLINE_TLS_SECRET=ml-apps-tls

Если TLS завершается на внешнем балансировщике, настройте установку без Kubernetes TLS Secret в соответствии с сетевой схемой заказчика.

Registry для runtime-образов

Если исполняемые образы моделей должны публиковаться в отдельный registry, укажите:

EXECUTORS_IMAGE_REGISTRY=registry.example.local/ml/executors
EXECUTORS_USER=<пользователь>
EXECUTORS_PASSWORD=<пароль>

Для registry без доверенного TLS:

EXECUTORS_KANIKO_INSECURE_REGISTRY=true


Учётная запись должна иметь права pull и push в указанном репозитории.

Внешние PostgreSQL и S3

При использовании внешних сервисов укажите их адреса и учётные данные в конфигурации установки.

Перед запуском проверьте сетевую доступность, сертификаты и права пользователя.

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

OFFLINE_EXTERNAL_PG_BACKUP_REFERENCE=<идентификатор или путь к резервной копии>

Резервное копирование при обновлении

Рекомендуемые параметры:

OFFLINE_UPGRADE_BACKUP_MODE=required
OFFLINE_BACKUP_DIR=./backups

Перед обновлением установщик создаёт резервные копии PostgreSQL и S3. Devpi при обновлении восстанавливается из snapshot, включённого в новую поставку.

Использование внешнего PostgreSQL

Если требуется использовать внешнюю БД PostgreSQL в качестве хранилища данных, необходимо заполнить:

OFFLINE_PG_HOST=postgres.company.local
OFFLINE_PG_PORT=5432
OFFLINE_PG_USER=postgres
OFFLINE_PG_PASSWORD=change-me
OFFLINE_PG_POSTGRES_USER=postgres
OFFLINE_PG_POSTGRES_PASSWORD=change-me

Если OFFLINE_PG_HOST задан, встроенная БД PostgreSQL будет отключена автоматически.

Использование внешнего S3/MinIO

Если требуется использовать внешнее файловое хранилище S3/MinIO, необходимо заполнить:

OFFLINE_S3_URL=http://minio.company.local:9000
OFFLINE_S3_ACCESS_KEY_ID=change-me
OFFLINE_S3_SECRET_ACCESS_KEY=change-me
OFFLINE_S3_REGION_NAME=us-east-1

Если OFFLINE_S3_URL задан, встроенное объектное хранилище будет отключено автоматически.

Использование отдельного registry для executor-образов

Если registry, доступный с хоста установки, отличается от registry, доступного из подов Kubernetes, необходимо задать:

EXECUTORS_IMAGE_REGISTRY=registry.internal.svc.cluster.local:5000
EXECUTORS_USER=
EXECUTORS_PASSWORD=
EXECUTORS_KANIKO_INSECURE_REGISTRY=true

Это требуется для runtime-сборки executor-образов внутри кластера.

  • Нет меток