Skip to content

Container Storage Interfaces

Container Storage Interfaces, better known as “CSI”, are used to connect storage to kubernetes PVCs. We at TrueCharts and ClusterTool do not include any form of storage, as everyone has their own preferences.

Guides under this section give some user-made examples of CSI storage options available. However, as those are user-made, they are not covered by TrueCharts Discord Support.

Overview

LocationDisk ConsumptionSnapshot Compat.RWO/RWXNotes
OpenEBS hostPathLocalPartialNoRWX
OpenEBS DeviceLocalFullTroublesomeRWOPartial snapshotting support
OpenEBS ZFSLocalSee NotesTroublesomeRWXSnapshots notoriously flaky, Full disk required for zpool, partial zpool can be used for OpenEBS
TopoLVMLocalFullYesRWO
Longhornlocal/ClusteredPartialYesRWXRWX untested on TalosOS, Enterprise SSDs mandatory
CEPH -blockClusteredFullYesRWOShares disks with CEPH-FS
CEPH -FSClusteredFullYesRWXShares disks with CEPH-Block
Democratic NFSNetworkedPartialYesRWXRequires TrueNAS Cron script due to instability
Democratic iSCSINetworkedPartialYesRWORequires TrueNAS Cron script due to instability

General notes

Some general notes might be cool as well, wirthen out a little longer obviously:

  • ClusterTool already includes snapshot controller by default
  • Some CSIs try to claim unused disks or even wipe used disks. Be carefull when mixing multiple “full disk” CSIs!
  • For multi-pod charts sharing storage, a RWX CSI is required!
  • “Networked” CSIs means that ALL pods using that storage stop working when the networked storage goes down

Our Top Picks

  • Local non-volsync storage: OpenEBS hostPath
  • Local general storage: TopoLVM
  • Clustered RWO storage: CEPH-Block
  • Clustered RWX storage: CEPH-FS
  • Networked Storage: Democratic NFS

Special Mention

For users that want to keep things simple, with data on the OS disk and decent snapshotting. This would not require extra drives and can easily be configured for single-node (1 replica) as wel as clustered storage (3 replicas). In addition longhorn would not conflict with any of the other CSIs listed above, meaning users can easily start experimenting with other CSIs as well, while still relying on Longhorn.

Hence for most users starting-out we would advice starting-out using Longhorn.