Prerequisites
Installing simplyblock into Talos requires:- Kubernetes
v1.26or later - Talos
v1.11.0or later - Helm
v3.12.0or later
Install Simplyblock Control Plane into Talos
Install thesbctl CLI on your workstation:
sbctl, then deploy the control plane:
sbctl cluster create command above:
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. Complete the following four steps in order. The namespace step must run before the Helm install, since the install’s--create-namespace flag depends on the privileged labels already being in place.
The talosctl patch mc and talosctl reboot commands in this section assume direct access to a Talos-native cluster. If you’re using Omni, apply the same machine configuration changes as a cluster config patch instead, see Create a patch for cluster machines for the exact steps.
Load required kernel modules on Talos worker nodes
Create a machine configuration patch (for examplekernel-module-config.yaml):
- Talos v1.14+
- Talos < v1.14
It isn’t specified here whether this patch needs a reboot to take effect on its own. The huge pages step below does require a reboot, so if you apply both patches before rebooting, this is covered either way. Confirm this if you ever apply the kernel module patch by itself.
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, open a shell inside the control plane pod:
--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):
- Talos v1.14+
- Talos < v1.14
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. Label thesimplyblock namespace as privileged. The namespace was already created during the control plane installation above, so this applies the required labels to it rather than creating it fresh:
Installation via Helm Chart
Open a shell inside the control plane pod: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 instead, install the CSI driver on its own as described below. For CSI driver-only installations, no huge page reservation is required. Set the same values as environment variables:--set storagenode.create=true:
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: