Skip to content

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:

  1. Install the operator: helm install deploys the operator, all CRDs, and two custom resources, ControlPlane/simplyblock and SimplyblockDriver/simplyblock.
  2. Control plane becomes Available: The operator installs FoundationDB, the object store, and the management API from the ControlPlane resource. Nothing else is reconciled until the control plane reports the phase Available.
  3. CSI driver becomes Ready: The operator deploys the CSI node and controller plugins from the SimplyblockDriver resource.
  4. Discovery: On a fresh installation, the operator raises the OperatorOps run initial-discovery, which probes the workers and writes a draft ClusterDeploymentConfig. Additional discovery runs can be requested manually.
  5. Review and approve: The administrator reviews the draft, adjusts workers, devices, erasure coding, and failure domains, and sets spec.approved: true.
  6. Expansion: The operator creates the StorageCluster, one StorageNode per worker and socket, the default StoragePool <cluster>-default, and the StorageClass simplyblock-<namespace>-<cluster>.
  7. 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