System Requirements
This guide outlines the recommended hardware and software requirements, along with setup instructions for deploying tSystem on Kubernetes. Each section provides OS-specific steps for configuring a reliable environment, followed by optional steps for advanced setups.
Hardware Requirements
-
Operating System:
- Ubuntu Server 20.04 LTS or 22.04 LTS
- Red Hat Enterprise Linux (RHEL) 8 or 9
- SUSE Linux Enterprise / openSUSE 15 SP6
-
Storage:
- OS (boot): 500GB NVMe SSD
- Data: 1–2TB NVMe SSD (depending on data scope and retention needs)
tip- For high-availability storage in Kubernetes, consider remote network-attached storage (e.g., NFS, cloud-managed solutions) for resilient, multi-node access.
- Unmounted storage is typically preferred for Kubernetes environments, allowing dynamic mounting as managed by Kubernetes
-
Memory:
- Preferred: 64GB RAM
- Minimum: 16GB RAM (scalable as needed)
-
CPU:
- Preferred: 16 CPUs
- Minimum: 8 CPUs (scalable as needed)
Software Requirements
-
User permissions: Ensure you have a user with sudo access.
-
Directory Setup (recommended):
- Create a dedicated directory for the installation files (e.g.,
/transpara
). - Set the user as the owner and ensure write access to the directory.
- Create a dedicated directory for the installation files (e.g.,
-
Disk Mounting (recommended):
- Mount a dedicated disk for storage. This disk can be used for both installation files and data storage. This disk can be mounted or be the same as the recommended directory for the installation files (e.g.
/transpara
). - Please ensure the user has write access to the dedicated disk.
- Mount a dedicated disk for storage. This disk can be used for both installation files and data storage. This disk can be mounted or be the same as the recommended directory for the installation files (e.g.
-
Firewall configuration:
-
Install open-iscsi:
-
ubuntu:
apt-get install open-iscsi
-
rhel:
yum --setopt=tsflags=noscripts install iscsi-initiator-utils
echo "InitiatorName=$(/sbin/iscsi-iname)" > /etc/iscsi/initiatorname.iscsi
systemctl enable iscsid
systemctl start iscsid -
sles:
sudo zypper install open-iscsi
sudo systemctl enable iscsid
sudo systemctl start iscsid
-
-
Network configuration: verify netstat is installed:
-
ubuntu:
sudo apt-get install net-tools
-
rhel:
sudo yum install net-tools
-
sles: Note:
netstat
is deprecated in openSUSE 15+, it's recommended to usess
instead.sudo zypper install net-tools
-
Multipath Configuration
Multipath is a Linux feature that manages multiple connections to storage devices, commonly used with enterprise storage systems like SAN (Storage Area Network). Since the tsystem
deployment uses Longhorn for Kubernetes storage, multipath must be configured to avoid conflicts with Longhorn volumes. This section provides step-by-step instructions to check and configure multipath based on the storage setup.
Before Starting:
- Determine if the environment uses SAN or shared storage (e.g., iSCSI, Fibre Channel, or cloud-based storage like AWS EBS, Azure Disks).
- SAN/shared storage in use: Keep multipath enabled and configure it to exclude Longhorn volumes.
- Local disks or Longhorn only: Disable multipath to prevent issues.
Be sure to apply the correct Multipath configuration on all Kubernetes nodes in the cluster to avoid inconsistent behavior.
Step 1: Check Multipath Status
Multipath may be running by default. Use the appropriate command to check its status based on the operating system.
sudo systemctl status multipathd
Expected Output:
active (running)
indicates multipath is enabled.inactive
ordead
indicates multipath is not running. If no SAN/shared storage is used, proceed to Step 3.
Step 2: Configure Multipath for SAN/Shared Storage (If Applicable)
When using SAN or shared storage, keep multipath enabled but configure it to exclude Longhorn volumes to prevent mount failures.
-
Edit or Create Multipath Configuration File:
-
Open or create
/etc/multipath.conf
with a text editor:sudo nano /etc/multipath.conf
-
Add the following to exclude Longhorn volumes:
blacklist {
devnode "^sd[a-z0-9]+"
} -
Save and exit (in
nano
, pressCtrl+O
,Enter
, thenCtrl+X
).
-
-
Restart Multipath Service:
-
Apply changes by restarting the service:
sudo systemctl restart multipathd.service
-
-
Verify Configuration:
-
Confirm the blacklist is applied:
multipath -t
-
Look for the
blacklist
section withdevnode "^sd[a-z0-9]+"
in the output.
-
Step 3: Disable Multipath (If No SAN/Shared Storage)
When using local disks or Longhorn without SAN/shared storage, disable multipath to avoid conflicts.
sudo systemctl stop multipathd
sudo systemctl disable multipathd
Step 4: Apply to All Nodes
- Repeat Step 1 and either Step 2 (for SAN) or Step 3 (no SAN) on every Kubernetes node to ensure consistent configuration.