CSI Driver

CSI Driver Overview

The TrueNAS CSI (Container Storage Interface) Driver is an official TrueNAS product that enables Kubernetes clusters to dynamically provision, manage, and consume storage from TrueNAS storage systems. The driver automatically creates storage volumes on-demand from Kubernetes, and leverages ZFS capabilities such as snapshots, clones, and compression in Kubernetes. The driver provides native Kubernetes integration via industry-standard CSI specifications.

The CSI driver supports snapshots, clones, ZFS compression (with no extra setup), and supports both file (NFS) and block (iSCSI) storage protocols. Standard Kubernetes uses K8s APIs and works with all K8s tooling. The CSI driver integration leverages TrueNAS investment in Kubernetes environments.

Storage administrators set up TrueNAS and the storage guardrails (StorageClasses), and thereafter developers can create the storage volumes they need through YAML files, bypassing the need to submit IT requests for the storage they need.

The CSI driver is ideal for:

  • Stateful applications in Kubernetes, like databases (PostgreSQL, MySQL, MongoDB), content management systems, CI/CD build caches, and application persistence.
  • DevOps and development, like development environments with persistent data, shared build artifacts, and testing environments
  • Data-intensive workloads, like big data processing (Spark, Hadoop), ML/AI training data storage, media processing and transcoding
  • Enterprise Kubernetes deployments, like multi-tenant Kubernetes clusters needing reliable storage, hybrid cloud deployments with on-premises storage, and edge computing with local TrueNAS systems.

The CSI driver is simple to use. Developer/users only need to create PVCs using the StorageClass cluster administrators setup, and the driver handles everything else.

Additional CSI Driver Articles

  • CSI Driver Administrators Guide: Provides Kubernetes cluster administrators with the information needed to deploy the TrueNAS CSI Driver integration with Kubernetes, including information on setting up StorageClasses.

    • CSI Driver User Guide: Provides information for Kubernetes developer/users of the TrueNAS CSI Driver.

      • CSI Driver Reference: Provides information on best practices, example StorageClasses, glossary of terms, troubleshooting and diagnostic commands, and API commands related to the TrueNAS CSI Driver integration with Kubernetes.