Upgrading Sisense with Kubernetes using RKE2

Note:

This entire topic relates only to on-premise customers who chose to use the Sisense deployment script to deploy and manage your on-premise Kubernetes cluster via the RKE tool.

Overview

Rancher Kubernetes Engine (RKE) is a tool developed by Rancher, which is used for deploying and running Kubernetes clusters on your on-premise server(s).

RKE is reaching its End Of Life:

Copy
RKE uses Docker, which is no longer maintained as a container runtime by Kubernetes.
This is critical as Docker’s removal from the Kubernetes project (as of release 1.24) necessitates a shift.

RKE2 adopts containerd, providing a more secure and efficient environment.
This change not only enhances the stability of container workloads but also aligns with the latest industry standards for container management.
RKE2 and K3S offer a more secure, efficient, and future-proof environment for your Kubernetes needs.

Therefore, Sisense has updated our on-prem deployment process to deploy the Kubernetes cluster using the new RKE2.

The final Sisense version that will install/upgrade Kubernetes using RKE1 is L2025.1.

Subsequent Sisense versions will still be able to deploy over RKE1 (using only update: true and update_k8s_version: false).

However, for new installations for which deploying the Kubernetes cluster via the Sisense deployment code is desired, RKE2 will be installed.

Upgrading from RKE1 to RKE2

Upgrading from RKE1 to RKE2 is not supported. This means that if you have RKE installed via a Sisense version <=L2025.1 and you are about to update to a newer version, you could run update: true, but you cannot run it with update_k8s_version: false.

Therefore, if you want to update to the later Kubernetes version, there are two options:

Note:

Whichever method you choose, you must first backup your Sisense data, and then restore your data in the new environment:

  • Recommended method: Launch a new server(s) and run a fresh install on it. This will ensure that you do not lose any data while migrating from the old environment to the new one.

  • Less preferred method: Completely uninstall (uninstall_cluster: true, uninstall_sisense: true, and remove_user_data: true) and then run a fresh reinstall.

Removing a Node

The remove_node feature is no longer supported, as RKE2 has deprecated this functionality.

If you want to remove a node from your existing Kubernetes cluster, you must do it manually (and update your config.yaml file accordingly).

NFS Storage Class Change

For on-premise customers who use NFS storage:

Once upgrading to RKE2 (whether installing on a new server(s) or uninstall+reinstall), the old storage class nfs-client will be replaced with nfs-csi.

The nfs-csi storageClass is the native way to work with your NFS.

See GitHub - kubernetes-csi/csi-driver-nfs: This driver allows Kubernetes to access NFS server on Linux node.

Containerd Installation Required

For the offline/air-gapped customers:

See Installing Sisense in an Offline Environment.

It is no longer necessary to have Docker pre-installed before running the installation. However, you must have Containerd v1.7.24 or newer installed on your server(s) before running the installation.

Note:

Containerd is included as part of Docker, so if you already have Docker installed, there is no need to separately install Containerd.

Copy
ubuntu@node1:~$ ctr --version
ctr containerd.io 1.7.24

In addition, running ./installer/offline/offline_installer.sh run <your_config_file>.yaml will automatically start the installation. This means that there is no need to cd sisense-${SISENSE_VERSION} and run ./sisense.sh <your_config_file>.yaml.

Note:

If you want to skip parameters validation, you can run ./installer/offline/offline_installer.sh run <your_config_file>.yaml -y.