SODA CSI Plug-N-Play allows users to provision the storage in K8s using SODA way and grab the Data Management capabilities offered by SODA. SODA CSI PnP let’s user to define the profile in SODA and use the profile in the StorageClass of K8s to provision the storage dynamically. It allows user to switch between different heterogeneous CSI drivers via Profile.
Before we begin we need to create the Profile in SODA using the below command
osdsctl profile create
{
"name": "openebs-profile-soda",
"storageType": "block",
"description": "string",
"provisioningProperties": {
"dataStorage": {
"recoveryTimeObjective": 10,
"provisioningPolicy": "Thick",
"compression": false,
"deduplication": false,
"characterCodeSet": "ASCII",
"maxFileNameLengthBytes": 255,
"storageAccessCapability": [
"Read"
]
},
"ioConnectivity": {
"accessProtocol": "iscsi",
"maxIOPS": 150,
"minIOPS": 50,
"maxBWS": 5,
"minBWS": 1,
"latency": 1
}
},
"replicationProperties": {},
"snapshotProperties": {},
"dataProtectionProperties": {},
"customProperties": {
"driver": "local.csi.openebs.io" ## YOU NEED TO UPDATE THE DRIVER WITH VENDOR DRIVER NAME
}
}
Currently SODA CSI PnP has been tested for the below CSI drivers, this is not the exhaustive list but it will keep growing as other vendors verify the soda-csi-provisioner.
Storage Vendor CSI Plugin | Deployment File | Sample App File |
---|---|---|
OpenEBS LVM Plugin | Operator | Sample Application |
OpenEBS ZFS Plugin | Operator | Sample Application |
IBM Block CSI Driver | Operator | Demo |
Ceph CSI Driver | Operator | Demo |
K8s-csi-lvm | Operator | Demo |
SODA Release version | Sidecar Image |
---|---|
Jerba(v1.4.0) | sodafoundation/soda-csi-provisioner:v2.2.0 |
Isabela(v1.3.0) | sodafoundation/soda-csi-provisioner:v2.1.0 |