Skip to main content

Overview

This article walks the installer through the process of upgrading an existing on-premise system. Given an available Kubernetes cluster, this document guides you through a partially-automated install process to deploy and configure LILT in your environment.

Required Tools

You will need to use SSH to connect to the systems.
  • On the Mac or Linux, you can open a terminal window and use ssh.
  • On Windows, you can use the PuTTY ssh client.
You will also need a web browser to browse the website post installation and verification.

Installer Privileges

Many sections of this article include text formatted to indicate console input and output. The commands are prefixed with a $ or # depending on if the administrator should run them as root or not. Additionally, to assist the user to know which machine to run commands on, the prefix node, master, and gpu will be given when the machine should be switched. All following commands after a switch should use those.

Run commands as root

Prerequisites

This upgrade document is only valid for an existing on-premise install previously installed using on-prem-installer scripts.

Data Location

Ensure that the new/updated Docker images and RPM packages are mounted and available to all of the nodes (master, worker, and GPU). In the typical installation, the system administrator will receive this data from LILT prior to installation.

Backup

Backup up the current running system prior to upgrade. This backup is highly recommended, and will be used to restore projects, documents and memory content in case of any errors.

Step 1: Master Node

Login to the k8s-master node and follow the below steps. Note that the following steps have to be performed as root (sudo su -). Backup Install Directory Backup previous Install Directory (structure might be slightly different than the following example):
Database Backup mysql database:
Minio (optional) Take note of the existing minio pvc (pvc-eiurty3794t679eryt495ytotoer) for future commands:
Example output:

Step 2: Worker Node

Login to the k8s-worker node and follow the below steps. Note that the following steps have to be performed as root (sudo su -). Persistant Volumes Backup storage volumes (pvcs) managed by openebs mount folders, default directory is /liltdata:

Upgrade Preparation

Step 1: Import New Images and Installer Packages

Download new images from remote s3 bucket and/or installer package. Details describing this process are documented in Install System (Rocky Linux 8)
NOTE: ensure that required images for each specific node are imported/loaded via containerd and that the installer package is correctly unpacked per steps in the documentation.

Step 2: Update Custom Values

If changes were made to the default values in an existing install, compare files and modify as required (see the next section).
In previous versions of LILT, values were spread across lilt/values.yaml and lilt/environment/lilt/values.yaml, which made it hard to differentiate what is a customer-centric vs default. In subsequent release versions, default values lilt/values.yamlshould remain default, and custom-values set in lilt/environment/lilt/values.yaml. As an example, the first file is default values.yaml:
Add custom values for THEME_HEADER_TEXT: "My Company", update lilt/environment/lilt/values.yaml as in the following:
NOTE: this is a one-time migration, no necessary to repeat after custom values are set.

Step 3: Update Custom Secrets

Verify custom secrets, no changes required unless specifically mentioned. The customer-centric secrets file is located at: lilt/environment/lilt/secrets.yaml

Step 4: Environment Setup (Optional)

For multiple environments, create customer-centric values.yaml and secrets.yaml inside each respective environments folder as required.

Upgrade LILT

After all new images, install files and custom environment variables have been set, run install LILT script.

Step 1: Master Node

Login to the k8s-master node and follow the below steps. Note that the following steps have to be performed as root (sudo su -). Change to install directory determined above:
Output should look similar to the following:
It is not necessary to re-install all third-party applications, just LILT. As an example, view the scripts included in install-lilt.sh:
Output should be similar to the following:
Only need to run the last script:

Step 2: Verification

Ensure all the pods are healthy (running status), this can take up to 15-30 minutes as some images will have to be reloaded.
If you see Error: UPGRADE FAILED:timed out waiting for the condition, please continue as this can happen due to time taken by the pods to startup, apps deployment happens as expected.

Rollback (only if necessary)

If errors persist and LILT will not function, rollback to backup previous values/images and run sh install_scripts/install-lilt-charts.sh

Restore MySql DB (only if necessary)

Restore DB from the backup performed in the above section.

Step 1: Copy Dump File to MySql Pod

Step 2: Restore File

Step 3: Restore SequalizeMeta

During restore, .ts and .js files are mismatched, the following reestablishes correct file extensions: