Предварительная проверка
Отдельный сценарий предварительной проверки не требуется: основной установщик выполняет preflight до внесения изменений в кластер. Перед запуском можно проверить локальные инструменты и доступ к Kubernetes:
cd polymatica-ml-offline bash -n install/offline-install.sh command -v kubectl helm docker python3 curl jq sha256sum tar xz gzip kubectl cluster-info kubectl get nodes
Исправьте обнаруженные ошибки до начала установки.
Первоначальная установка
Запустите:
./install/offline-install.sh \ --config install/offline-install.conf
Установщик проверит файлы поставки, загрузит образы, развернёт инфраструктуру и сервисы Polymatica ML, после чего выполнит smoke-проверку.
Установка без загрузки образов
Если все образы уже находятся в целевом registry:
./install/offline-install.sh \ --config install/offline-install.conf \ --skip-images
Зафиксированные в поставке теги и digest образов должны присутствовать в registry до запуска команды.
Обновление
Для обновления распакуйте новую поставку в отдельный каталог, подготовьте конфигурацию и выполните ту же команду:
./install/offline-install.sh \ --config install/offline-install.conf
Перед обновлением установщик создаёт резервные копии PostgreSQL и S3 в каталоге, указанном в OFFLINE_BACKUP_DIR.
Для внешнего PostgreSQL необходимо заранее создать резервную копию средствами заказчика и указать её идентификатор:
OFFLINE_EXTERNAL_PG_BACKUP_REFERENCE=<путь или идентификатор>Обновление старой Redis-инсталляции
Если существующий стенд использует несовместимый формат Redis PVC, предварительно завершите активные задачи Celery.
Для однократного пересоздания Redis укажите:
OFFLINE_ALLOW_REDIS_DATA_RESET=trueПосле успешного обновления верните значение:
OFFLINE_ALLOW_REDIS_DATA_RESET=falseПроверка после установки
export NS=offline kubectl get pods -n "$NS" -o wide kubectl get jobs -n "$NS" kubectl get pvc -n "$NS" kubectl get ingress -n "$NS" ./install/offline-smoke.sh --namespace "$NS"
Smoke-проверка должна завершиться успешно.
Восстановление из резервной копии
Остановите пользовательскую нагрузку и выполните:
OFFLINE_RESTORE_CONFIRM=true \ ./install/offline-restore.sh \ --namespace offline \ --backup-dir ./backups/offline-<UTC-время>
После восстановления повторно установите предыдущую версию дистрибутива. Это восстановит Devpi из snapshot соответствующей поставки и приведёт Helm-релизы к согласованным версиям.
Затем выполните:
./install/offline-smoke.sh --namespace offlineРасширенная диагностика
Для вывода дополнительных диагностических сообщений:
OFFLINE_DEBUG=true \ ./install/offline-install.sh \ --config install/offline-install.conf
Диагностический режим не выводит значения паролей и Secret.