CSI Openstack module (shturval-capos-csi)

About the service

ParameterDescription
GUI nameCSI Openstack Module
System name (identifier)shturval-capos-csi
Cluster AssignmentDynamic provisioning of volumes in OpenStack Cinder; connecting OpenStack block volumes as PersistentVolume upon request.
CriticalNo
Public repositoryCSI Cinder (OpenStack)
Dependenciesshturval-networking
Namespaceshturval-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
ParameterDescriptionTypeExample
storageClass.delete.isDefaultSet StorageClass with delete policy as defaultbooleantrue

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.

  1. 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
ParameterDescriptionExample
auth-urlAuthentication Server URLhttps://example.ru:35357/v3/
usernameUsernameusername
passwordUser Passwordmy-password
regionRegion nameRegionOne
tenant-idProject ID (project_id)projectid
domain-nameUser domain nameusers
  1. 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.

Important notes

  • For the module to work in the cluster, shturval-networking must 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 StorageClass local-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.