DataCore Puls8 Automatic Prerequisites Setup (Prerequisites Handler)
Explore this Page
- Overview
- Enablement Requirement
- HugePages Setup
- NVMe and NVMe-TCP Kernel Module Setup
- RDMA Core Package Setup
- Verifying Node Readiness
- Troubleshooting
Overview
The Prerequisites Handler is a DataCore Puls8 system component that automatically prepares Kubernetes nodes to run Replicated PV Mayastor io-engine and CSI node workloads. It ensures that each node has the required system-level dependencies, eliminating the need for administrators to manually configure the host.
The Prerequisites Handler automatically prepares:
- HugePages (2MiB) for io-engine
- NVMe and NVMe-TCP kernel modules for CSI Node
- RDMA libraries (rdma-core) on Debian/Ubuntu hosts when required
These checks and configurations run automatically in the background whenever DataCore Puls8 is installed or when nodes restart.
Automatic prerequisite setup including HugePages configuration, NVMe/NVMe-TCP kernel-module installation, and RDMA package installation is supported only on recent systemd-based Debian/Ubuntu operating systems. TalOS and other non-Debian/Ubuntu systems require manual configuration.
Enablement Requirement
The Prerequisites Handler is disabled by default. To enable automatic prerequisite setup, you must explicitly enable the Prerequisites Handler during DataCore Puls8 installation by setting the following Helm value:
If the Prerequisites Handler is not enabled, all prerequisite configuration must be performed manually.
HugePages Setup
Replicated PV Mayastor io-engine requires 2GiB of 2MiB HugePages to run.
The Prerequisites Handler on supported systems:
- Detects when HugePages are insufficient on a node
- Automatically sets up the required HugePages
- Refreshes node capacity information
- Applies persistence when enabled
The Prerequisites Handler attempts to configure 1024 HugePages of 2MiB size (2 GiB total) for Replicated PV Mayastor io-engine Pods. In some environments, the operating system may be unable to allocate the required number of HugePages due to system constraints. When this occurs, the io-engine Pods may remain in a Pending state until sufficient HugePages are available.
The process is fully automated and requires no user intervention unless the HugePages setup is intentionally disabled. To disable HugePages setup:
Automatic HugePages configuration is supported only on recent systemd-based Debian/Ubuntu hosts. On TalOS or other operating systems, HugePages must be verified, configured, and persisted manually.
NVMe and NVMe-TCP Kernel Module Setup
Replicated PV MayastorCSI Node requires the nvme and nvme_tcp kernel modules.
On supported Debian/Ubuntu environments, the Prerequisites Handler:
- Detects whether these modules are present on each node
- Installs required packages on Debian/Ubuntu if they are missing
- Loads the modules into the kernel
- Persists module loading across system reboots
The process is fully automated and requires no user intervention unless the kernel module setup is intentionally disabled. To disable kernel module setup:
Automatic detection, installation, and loading of kernel modules is supported only on Debian/Ubuntu hosts. On TalOS, kernel-module automation including all detection and installation logic is fully disabled. You must install, load, and persist the required modules manually on TalOS.
RDMA Core Package Setup
Some environments require RDMA support for advanced NVMe-oF or network configurations.
When needed, the Prerequisites Handler:
- Installs the
rdma-corepackage on Debian/Ubuntu hosts - Ensures the required libraries and utilities are available
RDMA prerequisites setup is disabled by default. When Replicated PV Mayastor RDMA is enabled, the Prerequisites Handler automatically installs the required rdma-core package on supported systems. You can explicitly enable or disable this behavior by using the following Helm value:
On TalOS, RDMA automation is disabled, and all required RDMA components must be installed and validated manually.
Verifying Node Readiness
After the setup is complete, you can verify that nodes have been prepared:
- Check HugePages (Automatic on Debian/Ubuntu and manual on TalOS). Look for
allocatable.hugepages-2Mi ≥ 2048Mi. - Check NVMe modules (Automatic on Debian/Ubuntu and manual on TalOS).
- Check RDMA package (Debian/Ubuntu).
On TalOS, NVMe/NVMe-TCP and RDMA validation must be performed manually because automated detection is disabled.
Troubleshooting
- If an io-engine pod remains in Pending, verify HugePages availability.
- If CSI Node encounters issues, check NVMe module presence.
- Ensure your nodes are running supported operating systems (Debian 12 and Ubuntu 22.04/24.04).
- For air-gapped environments, disable module installation or ensure required packages are available in the node’s repository.
- If you need to troubleshoot prerequisite operations, you may want the Prerequisites Handler helper Pods to remain in the cluster longer. By default, these Pods are cleaned up automatically. You can disable automatic cleanup using the following Helm value:
prereqHandler.controller.janitor.enabled=false
Learn More