@@ -3,4 +3,84 @@ title: "Install Simplyblock CSI"
3
3
weight : 30200
4
4
---
5
5
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
+ ```
0 commit comments