Install
Simplyblock on Kubernetes is installed and managed by the Simplyblock Operator. The operator is installed with a
single Helm chart, and every further step is driven by custom resources of the API group
storage.simplyblock.io/v1alpha2: the control plane, the CSI driver, the storage cluster, its storage nodes, and its
storage pools.
For Kubernetes environments, a simplyblock deployment can be either hyper-converged or disaggregated. In the hyper-converged model, simplyblock storage services run on selected Kubernetes worker nodes, sharing resources with other workloads in the same Kubernetes cluster. In a disaggregated deployment, storage services run on dedicated worker nodes, by default within the same Kubernetes cluster, or optionally in a separate storage cluster.
Installation Flow
A typical installation follows these steps:
- Install the operator:
helm installdeploys the operator, all CRDs, and two custom resources,ControlPlane/simplyblockandSimplyblockDriver/simplyblock. - Control plane becomes
Available: The operator installs FoundationDB, the object store, and the management API from theControlPlaneresource. Nothing else is reconciled until the control plane reports the phaseAvailable. - CSI driver becomes
Ready: The operator deploys the CSI node and controller plugins from theSimplyblockDriverresource. - Discovery: On a fresh installation, the operator raises the
OperatorOpsruninitial-discovery, which probes the workers and writes a draftClusterDeploymentConfig. Additional discovery runs can be requested manually. - Review and approve: The administrator reviews the draft, adjusts
workers, devices, erasure coding, and failure domains, and sets
spec.approved: true. - Expansion: The operator creates the
StorageCluster, oneStorageNodeper worker and socket, the defaultStoragePool<cluster>-default, and the StorageClasssimplyblock-<namespace>-<cluster>. - Activation: Once all storage nodes are online, the operator activates the cluster, and volumes can be provisioned.
For a breakdown of the components the operator installs for the control plane, see Control Plane Cluster Architecture. To consume storage from a control plane that runs elsewhere, see Connecting to an External Control Plane.
Custom Resources
The operator manages the following resources. All of them use the API version storage.simplyblock.io/v1alpha2.
| Kind | Short name | Category | Description |
|---|---|---|---|
ControlPlane |
cp |
Entity | The control plane, either installed locally by the operator or managed elsewhere. Created by the Helm chart. |
SimplyblockDriver |
sbd |
Entity | The CSI driver deployment. Created by the Helm chart. |
ClusterDeploymentConfig |
cdc |
Entity | A complete deployment in one document. Once approved, it is expanded into a storage cluster and its nodes. |
StorageCluster |
stc |
Entity | One simplyblock storage cluster, at most one per namespace. Owns its nodes and pools. |
StorageNode |
sn |
Entity | One storage node on a worker and socket. Normally generated from a ClusterDeploymentConfig. |
StoragePool |
sp |
Entity | A tenancy unit with capacity and QoS limits. StorageClasses attach to it by label. |
StorageBackupPolicy |
sbp |
Entity | Backup schedule and retention for the claims its selector matches. |
StorageDevice |
sd |
Observed | Mirrors one device of a storage node. Never written by users. |
StorageBackup |
sb |
Observed | One backup found in the backup store. Never written by users. |
OperatorOps |
oops |
Ops | Discovers workers and devices and writes a draft ClusterDeploymentConfig. |
ControlPlaneOps |
cpops |
Ops | Restarts, upgrades, or backs up a local control plane. |
StorageClusterOps |
scops |
Ops | Activates, expands, shuts down, starts, restarts, or rolling-restarts a cluster, or cancels a task. |
StorageNodeOps |
snops |
Ops | Shuts down, restarts, suspends, resumes, removes, or migrates a storage node. |
StorageDeviceOps |
sdops |
Ops | Restarts a storage device. |
PersistentVolumeOps |
pvops |
Ops | Moves a persistent volume to another storage node. Cluster-scoped. |
StorageBackupOps |
sbops |
Ops | Restores a backup into a new PersistentVolumeClaim. |
VolumeGroupSnapshotOps |
vgsops |
Ops | Restores every member of a VolumeGroupSnapshot. |
Every *Ops resource shares one shape: an immutable spec.action, a mutable spec.abort, and a status.phase of
Pending, Running, Succeeded, Failed, or Aborted. Only one operation runs at a time per entity. Further
operations wait in Pending.
In addition, the operator serves the read-only metrics API metrics.simplyblock.io/v1alpha2 through an aggregated API
server. It provides StorageClusterMetrics (scm), StorageNodeMetrics (snm), StoragePoolMetrics (spm),
StorageDeviceMetrics (sdm), and LogicalVolumeMetrics (lvm), which report capacity figures for the respective
objects.
For detailed CRD documentation, see Simplyblock Operator.
Pages in This Section
- Control Plane Cluster Architecture: The components of a local control plane.
- Securing the Control Plane: TLS, mutual TLS, and an external KMS.
- Install Simplyblock Operator: The Helm installation and its key values.
- Create a Storage Cluster: Discovery, review, approval, and the first volume.
- Connecting to an External Control Plane: The managed profile for clusters without a local control plane.
- OpenShift: Security context constraints and TLS on OpenShift.
- SUSE Rancher and RKE2: Permissions and CPU topology on RKE2 and K3s clusters.
- Talos: Kernel modules, huge pages, and permissions on Talos.