Отдельный сценарий предварительной проверки не требуется: основной установщик выполняет 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 PVC, предварительно завершите активные задачи Celery.
Для однократного пересоздания Redis укажите:
OFFLINE_ALLOW_REDIS_DATA_RESET=trueПосле успешного обновления верните значение:
OFFLINE_ALLOW_REDIS_DATA_RESET=falseexport 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.