CSI Driver and Kubernetes Integration – Application Note
This article summarizes the QSAN CSI driver for Kubernetes, covering when and how to use it with XCubeSAN as external storage to provide persistent volumes, dynamic provisioning, and improved scalability and reliability.
Download: CSI & Kubernetes PDF
Click here to download the CSI Driver and Kubernetes Integration application note.
Key Sections:
- Overview: CSI driver purpose; when to use it vs. built-in plugins; basic usage flow (create StorageClass, PVC, deploy app).
- Challenges: Local disk running out of space; limited local performance; add external storage without disrupting microservices.
- Benefits: Scalability, data persistence, high availability, storage efficiency (thin provisioning, compression, deduplication), security features.
- K8s Optimization & Compatibility: Performance monitoring; capacity planning; scalability; compatibility with K8s 1.21–1.25; get images from Docker Hub and CSI from GitHub; use Thick provisioning pool; Volume Timestamp disabled by default (enabling may slightly impact performance).
- Implementation:
- Topology: External iSCSI network between worker nodes and XCubeSAN.
- Install CSI Driver: Download package → edit
qsan-auth→ run./install.sh→ set StorageClass insc.yaml→ create pool & host group → set management and iSCSI data IPs → applysc.yaml→ configurepvc.yaml→ applypvc.yaml→ setpod.yamlwith PVC → apply and verify. - Multipath Policy: Edit
multipath.conf, run multipath, verify device status. - Fibre Channel Usage: FC setup mirrors iSCSI flow; supports higher IOPS/low latency; integrates with KubeVirt.
- Supported/Unsupported: Supported scenarios 1–4 (HG = Host Group). Unsupported: ports on different host groups.
- Constraints: Thin pool and MPIO not supported with CSI; use a Thick pool; connect iSCSI to one controller; max 32 volumes per Host Group.
- Apply To: XEVO firmware 2.3.0+.
- References: XS5300/XS3300 series pages; Cloud Native page; XEVO Software Manual; tutorial videos (Thin pool wizard; K8s CSI Driver); Docker Hub; QSAN CSI (GitHub).
Critical Notes:
- CAUTION: Use Thick provisioning with CSI; do not enable MPIO for CSI; connect iSCSI to a single controller.
- INFORMATION: Compatible Kubernetes versions: 1.21–1.25; Volume Timestamp is off by default.
JetStor Support
For assistance with CSI and Kubernetes on JetStor deployments:
๐ง [email protected]
๐ซ Submit Support Ticket