Skip to content

Commit d65e41d

Browse files
committed
Added initial draft csi driver install bare metal / aws
1 parent 64f2552 commit d65e41d

File tree

2 files changed

+163
-2
lines changed

2 files changed

+163
-2
lines changed

docs/deployments/aws-ec2/install-simplyblock-csi.md

+81-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,84 @@ title: "Install Simplyblock CSI"
33
weight: 30200
44
---
55

6-
<placeholder>
6+
Simplyblock provides a seamless integration with Kubernetes through its Kubernetes CSI driver.
7+
8+
To install the Simplyblock CSI Driver, a helm chart is provided. While it can be installed manually, the helm chart is
9+
strongly recommended. If a manual installation is preferred, see the
10+
[CSI Driver Repository](https://github.com/simplyblock-io/simplyblock-csi/blob/master/docs/install-simplyblock-csi-driver.md){:target="_blank"}.
11+
12+
Either way, the installation requires a few values to be available.
13+
14+
First we need the unique cluster id. Note down the cluster uuid of the cluster to access.
15+
16+
```bash title="Retrieving the Cluster UUID"
17+
sudo sbcli cluster list
18+
```
19+
20+
An example of the output is below.
21+
22+
```plain title="Example output of a cluster listing"
23+
[demo@demo ~]# sbcli cluster list
24+
+--------------------------------------+-----------------------------------------------------------------+---------+-------+------------+---------------+-----+--------+
25+
| UUID | NQN | ha_type | tls | mgmt nodes | storage nodes | Mod | Status |
26+
+--------------------------------------+-----------------------------------------------------------------+---------+-------+------------+---------------+-----+--------+
27+
| 4502977c-ae2d-4046-a8c5-ccc7fa78eb9a | nqn.2023-02.io.simplyblock:4502977c-ae2d-4046-a8c5-ccc7fa78eb9a | ha | False | 1 | 4 | 1x1 | active |
28+
+--------------------------------------+-----------------------------------------------------------------+---------+-------+------------+---------------+-----+--------+
29+
```
30+
31+
In addition, we need the cluster secret. Note down the cluster secret.
32+
33+
```bash title="Retrieve the Cluster Secret"
34+
sbcli cluster get-secret <CLUSTER_UUID>
35+
```
36+
37+
Retrieving the cluster secret will look somewhat like that.
38+
39+
```plain title="Example output of retrieving a cluster secret"
40+
[demo@demo ~]# sbcli cluster get-secret 4502977c-ae2d-4046-a8c5-ccc7fa78eb9a
41+
oal4PVNbZ80uhLMah2Bs
42+
```
43+
44+
Additionally, a storage pool is required. If a pool already exists, it can be reused. Otherwise, creating a storage
45+
pool can be created as following:
46+
47+
```bash title="Create a Storage Pool"
48+
sbcli pool add <POOL_NAME> <CLUSTER_UUID>
49+
```
50+
51+
The last line of a successful storage pool creation returns the new pool id.
52+
53+
```plain title="Example output of creating a storage pool"
54+
[demo@demo ~]# sbcli pool add test 4502977c-ae2d-4046-a8c5-ccc7fa78eb9a
55+
2025-03-05 06:36:06,093: INFO: Adding pool
56+
2025-03-05 06:36:06,098: INFO: {"cluster_id": "4502977c-ae2d-4046-a8c5-ccc7fa78eb9a", "event": "OBJ_CREATED", "object_name": "Pool", "message": "Pool created test", "caused_by": "cli"}
57+
2025-03-05 06:36:06,100: INFO: Done
58+
ad35b7bb-7703-4d38-884f-d8e56ffdafc6 # <- Pool Id
59+
```
60+
61+
The last item necessary before deploying the CSI driver is the control plane address. On a standard bare metal
62+
installation it is any of the API addresses. Meaning, if the primary management node has the IP of `192.168.10.1`, the
63+
control plane address is `http://192.168.0.1`. It is, however, recommended to front all management nodes, with a load
64+
balancing proxy, such as HAproxy. In the latter case, the load balancer URL would be the address of the control plane.
65+
66+
Anyhow, deploying the Simplyblock CSI Driver using the provided helm chart comes down to providing the four necessary
67+
values, adding the helm chart repository, and installing the driver.
68+
69+
```bash title="Install Simplyblock's CSI Driver"
70+
CLUSTER_UUID="<UUID>"
71+
CLUSTER_SECRET="<SECRET>"
72+
CNTR_ADDR="<CONTROL-PLANE-ADDR>"
73+
POOL_NAME="<POOL-NAME>"
74+
helm repo add spdk-csi https://sblk.xyz/simplyblock-helm-charts
75+
helm repo update
76+
helm install -n spdk-csi --create-namespace spdk-csi spdk-csi/spdk-csi \
77+
--set csiConfig.simplybk.uuid=${CLUSTER_UUID} \
78+
--set csiConfig.simplybk.ip=${CNTR_ADDR} \
79+
--set csiSecret.simplybk.secret=${CLUSTER_SECRET} \
80+
--set logicalVolume.pool_name=${POOL_NAME} \
81+
--set storagenode.create=true
82+
```
83+
84+
```plain title="Example output of the CSI driver deployment"
85+
<missing>
86+
```

docs/deployments/baremetal/install-simplyblock-csi.md

+82-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,85 @@ title: "Install Simplyblock CSI"
33
weight: 30200
44
---
55

6-
<placeholder>
6+
Simplyblock provides a seamless integration with Kubernetes through its Kubernetes CSI driver.
7+
8+
To install the Simplyblock CSI Driver, a helm chart is provided. While it can be installed manually, the helm chart is
9+
strongly recommended. If a manual installation is preferred, see the
10+
[CSI Driver Repository](https://github.com/simplyblock-io/simplyblock-csi/blob/master/docs/install-simplyblock-csi-driver.md){:target="_blank"}.
11+
12+
Either way, the installation requires a few values to be available.
13+
14+
First we need the unique cluster id. Note down the cluster uuid of the cluster to access.
15+
16+
```bash title="Retrieving the Cluster UUID"
17+
sudo sbcli cluster list
18+
```
19+
20+
An example of the output is below.
21+
22+
```plain title="Example output of a cluster listing"
23+
[demo@demo ~]# sbcli cluster list
24+
+--------------------------------------+-----------------------------------------------------------------+---------+-------+------------+---------------+-----+--------+
25+
| UUID | NQN | ha_type | tls | mgmt nodes | storage nodes | Mod | Status |
26+
+--------------------------------------+-----------------------------------------------------------------+---------+-------+------------+---------------+-----+--------+
27+
| 4502977c-ae2d-4046-a8c5-ccc7fa78eb9a | nqn.2023-02.io.simplyblock:4502977c-ae2d-4046-a8c5-ccc7fa78eb9a | ha | False | 1 | 4 | 1x1 | active |
28+
+--------------------------------------+-----------------------------------------------------------------+---------+-------+------------+---------------+-----+--------+
29+
```
30+
31+
In addition, we need the cluster secret. Note down the cluster secret.
32+
33+
```bash title="Retrieve the Cluster Secret"
34+
sbcli cluster get-secret <CLUSTER_UUID>
35+
```
36+
37+
Retrieving the cluster secret will look somewhat like that.
38+
39+
```plain title="Example output of retrieving a cluster secret"
40+
[demo@demo ~]# sbcli cluster get-secret 4502977c-ae2d-4046-a8c5-ccc7fa78eb9a
41+
oal4PVNbZ80uhLMah2Bs
42+
```
43+
44+
Additionally, a storage pool is required. If a pool already exists, it can be reused. Otherwise, creating a storage
45+
pool can be created as following:
46+
47+
```bash title="Create a Storage Pool"
48+
sbcli pool add <POOL_NAME> <CLUSTER_UUID>
49+
```
50+
51+
The last line of a successful storage pool creation returns the new pool id.
52+
53+
```plain title="Example output of creating a storage pool"
54+
[demo@demo ~]# sbcli pool add test 4502977c-ae2d-4046-a8c5-ccc7fa78eb9a
55+
2025-03-05 06:36:06,093: INFO: Adding pool
56+
2025-03-05 06:36:06,098: INFO: {"cluster_id": "4502977c-ae2d-4046-a8c5-ccc7fa78eb9a", "event": "OBJ_CREATED", "object_name": "Pool", "message": "Pool created test", "caused_by": "cli"}
57+
2025-03-05 06:36:06,100: INFO: Done
58+
ad35b7bb-7703-4d38-884f-d8e56ffdafc6 # <- Pool Id
59+
```
60+
61+
The last item necessary before deploying the CSI driver is the control plane address. On a standard bare metal
62+
installation it is any of the API addresses. Meaning, if the primary management node has the IP of `192.168.10.1`, the
63+
control plane address is `http://192.168.0.1`. It is, however, recommended to front all management nodes, with a load
64+
balancing proxy, such as HAproxy. In the latter case, the load balancer URL would be the address of the control plane.
65+
66+
Anyhow, deploying the Simplyblock CSI Driver using the provided helm chart comes down to providing the four necessary
67+
values, adding the helm chart repository, and installing the driver.
68+
69+
```bash title="Install Simplyblock's CSI Driver"
70+
CLUSTER_UUID="<UUID>"
71+
CLUSTER_SECRET="<SECRET>"
72+
CNTR_ADDR="<CONTROL-PLANE-ADDR>"
73+
POOL_NAME="<POOL-NAME>"
74+
helm repo add spdk-csi https://sblk.xyz/simplyblock-helm-charts
75+
helm repo update
76+
helm install -n spdk-csi --create-namespace spdk-csi spdk-csi/spdk-csi \
77+
--set csiConfig.simplybk.uuid=${CLUSTER_UUID} \
78+
--set csiConfig.simplybk.ip=${CNTR_ADDR} \
79+
--set csiSecret.simplybk.secret=${CLUSTER_SECRET} \
80+
--set logicalVolume.pool_name=${POOL_NAME} \
81+
--set storagenode.create=true
82+
```
83+
84+
```plain title="Example output of the CSI driver deployment"
85+
<missing>
86+
```
87+

0 commit comments

Comments
 (0)