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.
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):
pvc-eiurty3794t679eryt495ytotoer
) for future commands:
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 https://lilt.atlassian.net/wiki/spaces/SMD/pages/202997821/Install+System+Rocky+Linux+8#Prepare-the-LILT-PlatformNOTE: 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).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.yaml
should remain default, and custom-values set in lilt/environment/lilt/values.yaml
.
As an example, the first file is default values.yaml
:
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:
install-lilt.sh
:
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.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 runsh 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: