Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/kubernetes/installation/k8s-storage-plane.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ metadata:
namespace: simplyblock
spec:
clusterName: simplyblock-cluster
maxLogicalVolumeCount: 20
maxSubsystemCount: 20
partitions: 0
corePercentage: 50
workerNodes:
Expand Down Expand Up @@ -178,12 +178,12 @@ For a full list of configuration options see [Simplyblock Operator: StorageNodeS

## Create a Storage Pool

A storage pool is a grouping of logical volumes and capacity limits within the cluster. An initial `Pool` resource must
A storage pool is a grouping of logical volumes and capacity limits within the cluster. An initial `StoragePool` resource must
be created to define a storage pool before being able to provision volumes.

```yaml title="storage-pool.yaml"
apiVersion: storage.simplyblock.io/v1alpha1
kind: Pool
kind: StoragePool
metadata:
name: production-pool
namespace: simplyblock
Expand All @@ -199,15 +199,15 @@ kubectl apply -f storage-pool.yaml
The status of the storage pool can be checked with:

```bash title="Check the pool status"
kubectl get simplyblockpool -n simplyblock
kubectl get storagepools -n simplyblock
```

Once the pool is active, the operator automatically creates a StorageClass named
`simplyblock-<namespace>-<clusterName>-<poolName>`. In this example, the StorageClass is called
`simplyblock-simplyblock-cluster-production-pool`.

The StorageClass is automatically removed when the storage pool is deleted. For full details and customization options
are available at [Simplyblock Operator: Storage Pool](../../reference/operator/reference.md#pool).
are available at [Simplyblock Operator: Storage Pool](../../reference/operator/reference.md#storagepool).

```bash title="Check the StorageClass"
kubectl get storageclass simplyblock-simplyblock-production-my-pool
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ metadata:
spec:
clusterName: simplyblock-cluster
expand: true
maxLogicalVolumeCount: 20
maxSubsystemCount: 20
partitions: 0
corePercentage: 50
workerNodes:
Expand All @@ -75,7 +75,7 @@ metadata:
spec:
clusterName: simplyblock-cluster
expand: true
maxLogicalVolumeCount: 20
maxSubsystemCount: 20
partitions: 0
corePercentage: 50
workerNodes:
Expand Down Expand Up @@ -104,7 +104,7 @@ kubectl get storagenodes -n simplyblock

### Option B: Add a Single Node via StorageNode CR

For cases that need per-node overrides (custom `maxLogicalVolumeCount`, `spdkSystemMemory`, etc.) or a
For cases that need per-node overrides (custom `maxSubsystemCount`, `spdkSystemMemory`, etc.) or a
single node added manually, create a `StorageNode` CR directly. Set `overrides.expand: true` so the backend
treats it as an expansion add rather than a fresh cluster node.

Expand All @@ -123,7 +123,7 @@ spec:
socketIndex: 0
overrides:
expand: true
maxLogicalVolumeCount: 20
maxSubsystemCount: 20
```

```bash title="Apply the StorageNode CR"
Expand Down
18 changes: 9 additions & 9 deletions docs/reference/operator/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The operator manages the following Custom Resource Definitions (CRDs):
| [`StorageNodeSet`](reference.md#storagenodeset) | - | Fleet-level declarative management of storage nodes across workers |
| [`StorageNode`](reference.md#storagenode) | - | Represents a single backend storage node instance (auto-created) |
| [`StorageNodeOps`](reference.md#storagenodeops) | - | One-shot operational action targeting a single storage node |
| [`Pool`](reference.md#pool) | - | Creates and manages storage pools |
| [`StoragePool`](reference.md#storagepool) | - | Creates and manages storage pools |
| [`Task`](reference.md#task) | - | Monitors cluster tasks and their status |
| [`StorageBackup`](reference.md#storagebackup) | - | Creates a one-time backup of a PVC to S3 |
| [`BackupRestore`](reference.md#backuprestore) | - | Restores a backup into a new PVC |
Expand Down Expand Up @@ -72,7 +72,7 @@ metadata:
namespace: simplyblock
spec:
clusterName: simplyblock-cluster
maxLogicalVolumeCount: 20
maxSubsystemCount: 20
partitions: 0
corePercentage: 50
workerNodes:
Expand Down Expand Up @@ -114,7 +114,7 @@ over fleet defaults. They can be set in two ways:

| Field | Type | Description |
|-------------------------|----------|----------------------------------------------------------------------------------------------|
| `maxLogicalVolumeCount` | int | Maximum logical volumes for this node. |
| `maxSubsystemCount` | int | Maximum NVMe-oF subsystems for this node. |
| `maxSize` | string | Maximum allocatable huge pages memory (e.g., `16G`). |
| `spdkImage` | string | SPDK image override (e.g., for phased rollouts of a new image version). |
| `spdkProxyImage` | string | SPDK proxy image override. |
Expand Down Expand Up @@ -168,7 +168,7 @@ Limit the number of volumes on a specific node that has fewer or smaller devices
```yaml
nodeConfigs:
small-worker.example.com:
maxLogicalVolumeCount: 5
maxSubsystemCount: 5
```

**Expansion add (manual StorageNode CR)**
Expand All @@ -188,7 +188,7 @@ spec:
socketIndex: 0
overrides:
expand: true
maxLogicalVolumeCount: 20
maxSubsystemCount: 20
spdkSystemMemory: "4G"
failureDomain: 2
```
Expand Down Expand Up @@ -309,13 +309,13 @@ See [Pinned Volume Migration During Node Removal](../../kubernetes/operations/no

## Storage Pool

The `Pool` resource creates and manages storage pools. When a pool becomes active, the operator automatically
The `StoragePool` resource creates and manages storage pools. When a pool becomes active, the operator automatically
creates a Kubernetes `StorageClass` named `simplyblock-<namespace>-<clusterName>-<poolName>`. The StorageClass is deleted
when the pool is deleted.

```yaml title="Example: Create a storage pool"
apiVersion: storage.simplyblock.io/v1alpha1
kind: Pool
kind: StoragePool
metadata:
name: production-pool
namespace: simplyblock
Expand All @@ -330,11 +330,11 @@ spec:
write: 1024
```

The complete set of `Pool` fields is available in [Pool reference](reference.md#pool).
The complete set of `StoragePool` fields is available in [StoragePool reference](reference.md#storagepool).

### Auto-Created StorageClass

The pool identifier is the `Pool` resource name (`metadata.name`). The operator uses that name as the backend pool
The pool identifier is the `StoragePool` resource name (`metadata.name`). The operator uses that name as the backend pool
name and as the `pool_name` CSI StorageClass parameter.

When the pool reaches an active state, the operator creates a `StorageClass` with:
Expand Down
Loading
Loading