CloudStack CSI Driver
CloudStack Container Storage Interface (CSI) plugin enables Kubernetes clusters running on Apache CloudStack to dynamically provision, manage, and use CloudStack storage volumes
Features
Automatic provisioning: Create persistent volumes on-demand from Kubernetes PVCs
No manual intervention: Eliminates need to manually create CloudStack volumes
Kubernetes-native: Uses standard Kubernetes storage classes and PVC workflows
Advanced Storage Features
Volume snapshots: Backup and restore capabilities
Dynamic expansion: Grow volumes without downtime or data migration
Flexible reclaim policies: Choose between automatic cleanup or data retention
Core Components
CSI Controller: Manages volume lifecycle, snapshots, and CloudStack API interactions
CSI Node Driver: Handles volume mounting and unmounting on worker nodes
Storage Class Syncer: Automatically syncs CloudStack disk offerings to Kubernetes storage classes
CSI integration with CKS
From 4.22.0, CloudStack Kubernetes Service provides CSI integration that allows dynamic provisioning of CloudStack volumes for Kubernetes pods running on CKS clusters. To enable CSI integration, the CKS data ISOs must have the CSI manifests. Rebuilding the CKS data ISOs using the create-kubernetes-binaries-iso.sh script will build ISOs with CSI manifests and images. Pre-built ISOs for Kubernetes versions 1.31.1, 1.32.5 and 1.33.1 are available at https://download.cloudstack.org/cks/

Enabling CSI integration for a CKS cluster can be done by selecting the Enable CSI Integration checkbox in the Advanced Settings section of the Kubernetes cluster creation form. Doing so will setup the CSI components - the CSI controller and the CSI node daemonset - on the cluster during its creation.

Further details about using CSI with CKS can be found at: https://github.com/cloudstack/cloudstack-csi-driver/blob/main/README.md