Prerequisites
Installing simplyblock into Talos requires the minimum version of Kubernetes to bev1.26 or later, Talos v1.11.0 or later, and Helm v3.12.0 or later.
Furthermore, simplyblock requires exclusive access to empty, unpartitioned, and unformatted NVMe devices as the storage backend. The simplyblock-managed NVMe devices of all storage nodes are combined into a shared pool.
Install Simplyblock Control Plane into Talos
Install thesbctl CLI:
sbctl, then deploy the control plane:
Install Simplyblock Storage Plane into Talos
Before installing the simplyblock storage plane on Talos, you must prepare Talos worker nodes with the required kernel modules, huge page allocation, and namespace security settings.Load required kernel modules on Talos worker nodes
Create a machine configuration patch (for examplekernel-module-config.yaml):
Reserve huge pages on Talos worker nodes
Simplyblock requires pre-reserved huge pages and expects thehugepages-2Mi pool (2 MiB page size).
The required amount depends on your planned storage-node sizing (for example, CPU count, number of volumes, and expected provisioned capacity per node), so decide the target huge page memory first, then convert it into page count.
To calculate the required huge pages, run the following commands to exec into a simplyblock control plane pod and run the calculation:
--nodes-per-socket(default:1)--sockets-to-use(default:0)--cores-percentage(default:0/ unset)
The required number of huge pages on this host is: ... value from the command output as your vm.nr_hugepages setting.
Use this conversion:
nr_hugepages = (target_hugepage_memory_in_MiB) / 2- Example:
8192 MiBof huge page memory requires4096pages.
huge-pages-config.yaml):
Capacity/Allocatable values for hugepages-2Mi.
Create a privileged namespace for Simplyblock
Simplyblock components (storage plane and CSI driver) require privileged execution on Talos worker nodes because they need host-level storage access that is blocked in restricted namespaces. This includes native access to NVMe devices, establishing and managing NVMe/TCP multipathing sessions, and performing required block-device operations such as discovery, attach, format, and mount for Kubernetes volumes. Createsimplyblock-namespace.yaml:
Installation via Helm Chart
Inside the control plane pod, retrieve the cluster UUID and secret:Install Simplyblock CSI Driver into Talos
If you installed the storage plane into Talos, the CSI driver is already deployed as part of the storage plane. If you want to connect to an external simplyblock storage cluster, install the CSI driver manually as described below. For CSI driver-only installations, no huge page reservation is required. Install the CSI driver only:Cleaning up Simplyblock
To remove simplyblock from the cluster, uninstall the Helm releases first, then clean up any remaining namespace resources. Uninstall the storage plane and CSI driver chart:simplyblock-cp, uninstall it as well: