Overview
LILT depends on third-party applications for storage, messaging, networking and scheduling. The installer upgrades all of them as part of a LILT upgrade, so you do not normally upgrade one on its own. Read Which applications need care before you upgrade. Most components upgrade in place with no attention, but four do not, and two of those stop the installer rather than risk your data.What LILT installs
An on-premise installation includes the following. An AWS EKS installation replaces MySQL with Amazon RDS, MinIO with Amazon S3, and MetalLB, Flannel and the local persistent-volume provisioner with the equivalent AWS services.Earlier releases of LILT also installed Grafana, ingress-nginx and Redis.
Istio and the Gateway API replaced ingress-nginx, and Dragonfly replaced
Redis. If you are upgrading from a release that installed them, the upgrade
removes them.
Which applications need care
Most of these applications upgrade in place, keeping their persistent volumes bound to the new pods, and need no attention from you. Four are different. MySQL and MinIO hold all of your LILT data. On an on-premise installation, back both up before you upgrade. See Back up MySQL and MinIO. Qdrant cannot skip a minor version, and cannot be rebuilt from the database. If your installation is more than one minor version behind, the installer stops. See Upgrade Qdrant. Elasticsearch cannot cross a major version in one step. If your installation is a major version behind, the installer stops. See Upgrade Elasticsearch Across Major Versions. Elasticsearch data is derived from the LILT database, so it can be rebuilt, but only in part: see Back Up and Restore Elasticsearch, which also covers registering the snapshot repository the installer does not create.Upgrade
Run the installer, which upgrades LILT and every third-party application together:sh install-lilt-eks.sh instead.
To upgrade a single application, run its install script. Using ClickHouse as an
example:
helm upgrade, which adds a new revision of the release and
leaves the previous one available to helm rollback.
Back up MySQL and MinIO
This procedure applies to an on-premise installation, where MySQL and MinIO run in the cluster. An AWS EKS installation keeps this data in Amazon RDS and Amazon S3, so back those up with RDS snapshots and S3 object versioning instead. This procedure does not apply there.1. Stop writes
Disable LILTfront so that nothing writes to MySQL or MinIO while you copy
the data:
2. Back up MySQL
Record which database migrations have been applied. You need this list to restore, and it is specific to your installation, so capture it now rather than reusing one from another system:DB_PASSWORD.
Create the dump and copy it off the pod:
3. Back up MinIO
MinIO stores objects on a persistent volume, so you copy the volume’s contents. All LILT data is under thelilt subdirectory of the claim.
pvc-f6c7eda9-e7bb-4975-bb40-80c808718d0d. Connect to the worker node and copy
it:
PVC_NAME.
4. Re-enable front
Restore MySQL and MinIO
Restore MySQL
Copy the dump back to the pod and load it:Restore MinIO
Copy thelilt directory from your backup into the new volume. Do not
overwrite data that the new volume already holds:
OLD_PVC_NAME and NEW_PVC_NAME.

