Simplyblock Helm Chart Reference
Simplyblock provides a Helm chart to install one or more components into Kubernetes. Available components are the CSI driver and storage nodes.
This reference provides an overview of all available parameters that can be set on the Helm chart during installation or upgrade.
CSI Parameters
Commonly configured CSI driver parameters:
| Parameter | Description | Default |
|---|---|---|
csiConfig.simplybk.uuid |
Sets the simplyblock cluster id on which the volumes are provisioned. | |
csiConfig.simplybk.ip |
Sets the HTTP(S) API Gateway endpoint connected to the management node. | https://o5ls1ykzbb.execute-api.eu-central-1.amazonaws.com |
csiSecret.simplybk.secret |
Sets the cluster secret associated with the cluster. | |
logicalVolume.encryption |
Specifies whether logical volumes should be encrypted. | False |
csiSecret.simplybkPvc.crypto_key1 |
Sets the first encryption key. | |
csiSecret.simplybkPvc.crypto_key2 |
Sets the second encryption key. | |
logicalVolume.pool_name |
Sets the storage pool name where logical volumes are created. This storage pool needs exist. | testing1 |
logicalVolume.qos_rw_iops |
Sets the maximum read-write IOPS. Zero means unlimited. | 0 |
logicalVolume.qos_rw_mbytes |
Sets the maximum read-write Mbps. Zero means unlimited. | 0 |
logicalVolume.qos_r_mbytes |
Sets the maximum read Mbps. Zero means unlimited. | 0 |
logicalVolume.qos_w_mbytes |
Sets the maximum write Mbps. Zero means unlimited. | 0 |
logicalVolume.numDataChunks |
Sets the number of Erasure coding schema parameter k (distributed raid). | 1 |
logicalVolume.numParityChunks |
Sets the number of Erasure coding schema parameter n (distributed raid). | 1 |
logicalVolume.lvol_priority_class |
Sets the logical volume priority class. | 0 |
logicalVolume.fabric |
Sets the NVMe-oF transport type. | tcp |
logicalVolume.tune2fs_reserved_blocks |
Sets the percentage of disk blocks reserved for system. | 0 |
logicalVolume.max_namespace_per_subsys |
Sets the maximum namespace per subsystem. | 1 |
storageclass.create |
Specifies whether to create a StorageClass. | true |
snapshotclass.create |
Specifies whether to create a SnapshotClass. | true |
snapshotcontroller.create |
Specifies whether to create a snapshot controller and CRD for snapshot support. | true |
storageclass.annotations |
Adds annotations to the generated StorageClass object. | {} |
Additional, uncommonly configured CSI driver parameters:
| Parameter | Description | Default |
|---|---|---|
driverName |
Sets an alternative driver name. | csi.simplyblock.io |
serviceAccount.create |
Specifies whether to create service account for the CSI controller. | true |
rbac.create |
Specifies whether to create RBAC permissions for the CSI controller. | true |
controller.replicas |
Sets the replica number of the CSI controller StatefulSet. | 1 |
controller.tolerations.create |
Specifies whether to create tolerations for the csi controller. | false |
controller.tolerations.list[].effect |
Sets the effect of tolerations on the csi controller. | <empty> |
controller.tolerations.list[].key |
Sets the key of tolerations for the csi controller. | <empty> |
controller.tolerations.list[].operator |
Sets the operator for the csi controller tolerations. | Exists |
controller.tolerations.list[].value |
Sets the value of tolerations for the csi controller. | <empty> |
controller.nodeSelector.create |
Specifies whether to create nodeSelector for the csi controller. | false |
controller.nodeSelector.key |
Sets the key of nodeSelector for the csi controller. | <empty> |
controller.nodeSelector.value |
Sets the value of nodeSelector for the csi controller. | <empty> |
externallyManagedConfigmap.create |
Specifies whether a externallyManagedConfigmap should be created. | true |
externallyManagedSecret.create |
Specifies whether a externallyManagedSecret should be created. | true |
podAnnotations |
Annotations to apply to all pods in the chart. | {} |
simplyBlockAnnotations |
Annotations to apply to simplyblock Kubernetes resources like DaemonSets, Deployments, or StatefulSets. | {} |
node.tolerations.create |
Specifies whether to create tolerations for the CSI driver node. | false |
node.tolerations.list[].effect |
Sets the effect of tolerations on the CSI driver node. | <empty> |
node.tolerations.list[].key |
Sets the key of tolerations for the CSI driver node. | <empty> |
node.tolerations.list[].operator |
Sets the operator for the csi node tolerations. | Exists |
node.tolerations.list[].value |
Sets the value of tolerations for the CSI driver node. | <empty> |
node.nodeSelector.create |
Specifies whether to create nodeSelector for the CSI driver node. | false |
node.nodeSelector.key |
Sets the key of nodeSelector for the CSI driver node. | <empty> |
node.nodeSelector.value |
Sets the value of nodeSelector for the CSI driver node. | <empty> |
storageclass.volumeBindingMode |
Sets when PersistentVolumes are bound and provisioned. | WaitForFirstConsumer |
storageclass.zoneClusterMap |
Sets the mapping between Kubernetes zones and simplyblock clusters for multi-cluster or multi-zone deployments. | {} |
storageclass.allowedTopologyZones |
Sets the list of topology zones where the StorageClass is allowed to provision volumes. | [] |
spdkdev.create |
Specifies whether to deploy SPDK development/test resources. | false |
benchmarks |
Enables benchmark resources when set to non-zero. | 0 |
autoClusterActivate |
Enables automatic cluster activation when sufficient nodes are up. | false |
Storage Node Parameters
| Parameter | Description | Default |
|---|---|---|
storagenode.daemonsets[0].name |
Sets the name of the storage node DaemonSet. | simplyblock-storage-node-ds |
storagenode.daemonsets[0].appLabel |
Sets the label applied to the storage node DaemonSet for identification. | storage-node |
storagenode.daemonsets[0].nodeSelector.key |
Sets the key used in the nodeSelector to constrain which nodes the DaemonSet should run on. | io.simplyblock.node-type |
storagenode.daemonsets[0].nodeSelector.value |
Sets the value for the nodeSelector key to match against specific nodes. | simplyblock-storage-plane |
storagenode.daemonsets[0].tolerations.create |
Specifies whether to create tolerations for the storage node. | false |
storagenode.daemonsets[0].tolerations.effect |
Sets the effect of tolerations on the storage node. | <empty> |
storagenode.daemonsets[0].tolerations.key |
Sets the key of tolerations for the storage node. | <empty> |
storagenode.daemonsets[0].tolerations.operator |
Sets the operator for the storage node tolerations. | Exists |
storagenode.daemonsets[0].tolerations.value |
Sets the value of tolerations for the storage node. | <empty> |
storagenode.daemonsets[1].name |
Sets the name of the restart storage node DaemonSet. | simplyblock-storage-node-ds-restart |
storagenode.daemonsets[1].appLabel |
Sets the label applied to the restart storage node DaemonSet for identification. | storage-node-restart |
storagenode.daemonsets[1].nodeSelector.key |
Sets the key used in the nodeSelector to constrain which nodes the DaemonSet should run on. | io.simplyblock.node-type |
storagenode.daemonsets[1].nodeSelector.value |
Sets the value for the nodeSelector key to match against specific nodes. | simplyblock-storage-plane-restart |
storagenode.daemonsets[1].tolerations.create |
Specifies whether to create tolerations for the restart storage node. | false |
storagenode.daemonsets[1].tolerations.effect |
Sets the effect of tolerations on the restart storage node. | <empty> |
storagenode.daemonsets[1].tolerations.key |
Sets the key of tolerations for the restart storage node. | <empty> |
storagenode.daemonsets[1].tolerations.operator |
Sets the operator for the restart storage node tolerations. | Exists |
storagenode.daemonsets[1].tolerations.value |
Sets the value of tolerations for the restart storage node. | <empty> |
storagenode.create |
Specifies whether to create storage node on kubernetes worker node. | false |
storagenode.ifname |
Sets the default interface to be used for binding the storage node to host interface. | eth0 |
storagenode.maxLogicalVolumes |
Sets the default maximum number of logical volumes per storage node. | 10 |
storagenode.maxSnapshots |
Sets the default maximum number of snapshot per storage node. | 10 |
storagenode.maxSize |
Sets the max provisioning size of all storage nodes. | <empty> |
storagenode.numPartitions |
Sets the number of partitions to create per device. | 1 |
storagenode.numDataChunks |
Sets default NDCS value used by storage-node automation. | 1 |
storagenode.numParityChunks |
Sets default NPCS value used by storage-node automation. | 1 |
storagenode.isolateCores |
Enables automatic core isolation. | false |
storagenode.dataNic |
Sets the data interface name. | <empty> |
storagenode.spdkImage |
Sets the SPDK image URI for storage-node services. | <empty> |
storagenode.spdkProxyImage |
Sets the SPDK proxy image URI for storage-node services. | <empty> |
storagenode.haJMCount |
Sets the number of HA journal managers. | <empty> |
storagenode.pciAllowed |
Sets the list of allowed NVMe PCIe addresses. | <empty> |
storagenode.pciBlocked |
Sets the list of blocked NVMe PCIe addresses. | <empty> |
storagenode.deviceNames |
Sets an explicit list of device names for node bootstrap. | <empty> |
storagenode.format4k |
Enables 4K-format handling during storage-node setup. | false |
storagenode.socketsToUse |
Sets the list of sockets to use. | <empty> |
storagenode.nodesPerSocket |
Sets the number of nodes to use per socket. | <empty> |
storagenode.coresPercentage |
Sets the percentage of total cores (vCPUs) available to simplyblock storage node services. | <empty> |
storagenode.ubuntuHost |
Set to true if the worker node runs Ubuntu and needs the nvme-tcp kernel module installed. | false |
storagenode.enableCpuTopology |
Enables CPU topology configuration on storage nodes. | false |
storagenode.enableDevicePlugin |
Enables NUMA resource device plugin deployment. | true |
storagenode.skipKubeletConfiguration |
Skips kubelet CPU-topology configuration if already configured. | false |
storagenode.openShiftCluster |
Set to true if it an OpenShift Cluster and needs core isolation. | false |
storagenode.reservedSystemCpu |
Sets CPU cores reserved for host/system and excluded from SPDK usage. | <empty> |
storagenode.multiCluster.enable |
Enables multi-cluster storage-node support. | false |
storagenode.multiCluster.clusters[].cluster_id |
Sets the Simplyblock cluster UUID in multi-cluster mode. | <empty> |
storagenode.multiCluster.clusters[].secret |
Sets the cluster secret for multi-cluster mode. | <empty> |
storagenode.multiCluster.clusters[].workers |
Sets worker node names assigned to the cluster in multi-cluster mode. | <empty> |
Image Overrides
Danger
Overriding pinned image tags can result in an unusable state. The following parameters should only be used after an explicit request from simplyblock.
| Parameter | Description | Default |
|---|---|---|
image.csi.repository |
Simplyblock CSI driver image. | simplyblock/spdkcsi |
image.csi.tag |
Simplyblock CSI driver image tag. | v0.2.4 |
image.csi.pullPolicy |
Simplyblock CSI driver image pull policy. | Always |
image.csiProvisioner.repository |
CSI provisioner image. | registry.k8s.io/sig-storage/csi-provisioner |
image.csiProvisioner.tag |
CSI provisioner image tag. | v4.0.1 |
image.csiProvisioner.pullPolicy |
CSI provisioner image pull policy. | Always |
image.csiAttacher.repository |
CSI attacher image. | gcr.io/k8s-staging-sig-storage/csi-attacher |
image.csiAttacher.tag |
CSI attacher image tag. | v4.5.1 |
image.csiAttacher.pullPolicy |
CSI attacher image pull policy. | Always |
image.nodeDriverRegistrar.repository |
CSI node driver registrar image. | registry.k8s.io/sig-storage/csi-node-driver-registrar |
image.nodeDriverRegistrar.tag |
CSI node driver registrar image tag. | v2.10.1 |
image.nodeDriverRegistrar.pullPolicy |
CSI node driver registrar image pull policy. | Always |
image.csiSnapshotter.repository |
CSI snapshotter image. | registry.k8s.io/sig-storage/csi-snapshotter |
image.csiSnapshotter.tag |
CSI snapshotter image tag. | v8.2.0 |
image.csiSnapshotter.pullPolicy |
CSI snapshotter image pull policy. | Always |
image.csiSnapshotterController.repository |
Snapshot-controller image repository. | registry.k8s.io/sig-storage/snapshot-controller |
image.csiSnapshotterController.tag |
Snapshot-controller image tag. | v8.2.0 |
image.csiSnapshotterController.pullPolicy |
Snapshot-controller image pull policy. | Always |
image.csiResizer.repository |
CSI resizer image. | gcr.io/k8s-staging-sig-storage/csi-resizer |
image.csiResizer.tag |
CSI resizer image tag. | v1.10.1 |
image.csiResizer.pullPolicy |
CSI resizer image pull policy. | Always |
image.csiHealthMonitor.repository |
CSI external health-monitor controller image. | gcr.io/k8s-staging-sig-storage/csi-external-health-monitor-controller |
image.csiHealthMonitor.tag |
CSI external health-monitor controller image tag. | v0.11.0 |
image.csiHealthMonitor.pullPolicy |
CSI external health-monitor controller image pull policy. | Always |
image.simplyblock.repository |
Simplyblock management image. | public.ecr.aws/simply-block/simplyblock |
image.simplyblock.tag |
Simplyblock management image tag. | 26.1.2 |
image.simplyblock.pullPolicy |
Simplyblock management image pull policy. | Always |
image.storageNode.repository |
Simplyblock storage-node controller image. | simplyblock/storage-node-handler |
image.storageNode.tag |
Simplyblock storage-node controller image tag. | v0.1.9 |
image.storageNode.pullPolicy |
Simplyblock storage-node controller image pull policy. | Always |
image.numaResource.repository |
Simplyblock NUMA resource plugin image repository. | simplyblock/numa-resource-plugin |
image.numaResource.tag |
Simplyblock NUMA resource plugin image tag. | latest |
image.numaResource.pullPolicy |
Simplyblock NUMA resource plugin image pull policy. | Always |
image.mgmtAPI.repository |
Simplyblock management api image. | python |
image.mgmtAPI.tag |
Simplyblock management api image tag. | 3.10 |
image.mgmtAPI.pullPolicy |
Simplyblock management api image pull policy. | Always |