CSI Openstack module (shturval-capos-csi)
About the service
| Parameter | Description |
|---|---|
| GUI name | CSI Openstack Module |
| System name (identifier) | shturval-capos-csi |
| Cluster Assignment | Dynamic provisioning of volumes in OpenStack Cinder; connecting OpenStack block volumes as PersistentVolume upon request. |
| Critical | No |
| Public repository | CSI Cinder (OpenStack) |
| Dependencies | shturval-networking |
| Namespace | shturval-capos-csi |
Purpose
shturval-capos-csi — CSI OpenStack module (Cinder driver). Allows you to mount volumes from OpenStack Cinder as PersistentVolume on demand via StorageClass when using OpenStack-based clusters.
Where to configure
Services and repositories → Installed services → shturval-capos-csi → Manage.
Setting up storage classes: StorageClasses. For clusters on OpenStack, after installing the shturval-capos provider, when creating a cluster with CSI integration, the module can be installed automatically.
Installation in a cluster
If CSI integration was enabled when creating a cluster with the OpenStack provider, the module is installed automatically. To manually install, go to Services and Repositories → Available Charts, find shturval-capos-csi and click Install. Select the namespace shturval-capos-csi (create it if necessary).
During installation, StorageClasses csi-cinder-sc-delete and csi-cinder-sc-retain are added to the cluster. If you need to redefine chart parameters, apply the changes via ShturvalServicePatch.
Customvalues example
storageClass:
delete:
isDefault: true
| Parameter | Description | Type | Example |
|---|---|---|---|
storageClass.delete.isDefault | Set StorageClass with delete policy as default | boolean | true |
Setting up Secret cloud-config
After installing the module, create a Secret in the namespace shturval-capos-csi with the connection data to the provider.
- Create the connection configuration:
Configuration example
[Global]
auth-url=<your value>
username=<your value>
password=<your value>
region=<your value>
tenant-id=<your value>
domain-name=<your value>
[BlockStorage]
ignore-volume-microversion=true
| Parameter | Description | Example |
|---|---|---|
auth-url | Authentication Server URL | https://example.ru:35357/v3/ |
username | Username | username |
password | User Password | my-password |
region | Region name | RegionOne |
tenant-id | Project ID (project_id) | projectid |
domain-name | User domain name | users |
- In the GUI, go to namespace
shturval-capos-csi→ Storage → Secrets and create a Secret:- Name:
cloud-config - Type:
Opaque - Key:
cloud.conf, value - prepared configuration.
- Name:
Important notes
- For the module to work in the cluster,
shturval-networkingmust be running. - By default, when deleting a cluster with the OpenStack provider, disks in virtualization are not removed. To delete PVs together with the cluster, set this when creating the cluster or delete them manually in the virtualization platform afterwards.
- StorageClass by default only applies to new PersistentVolumeClaim. To change the default StorageClass, remove the
storageclass.kubernetes.io/is-default-class: "true"annotation from StorageClasslocal-path. - For volume snapshots, create a VolumeSnapshotClass with
force-create: "true"— without it, a snapshot without stopping the workload is not created. Details: Snapshots.
How to deploy this service - How to deploy a new service.