A brief description of what CSI is - https://kubernetes.io/blog/2019/01/15/container-storage-inte...
A few reasons:
- Rook is "just" managed Ceph[2], and Ceph is good enough for CERN[3]. But it does need raw disks (nothing saying these can't be loopback drives but there is a performance cost)
- OpenEBS has a lot of choices (Jiva is the simplest and is Longhorn[4] underneath, cStor is based on uZFS, Mayastor is their new thing with lots of interesting features like NVMe-oF, there's localpv-zfs which might be nice for your projects that want ZFS, regular host provisioning as well.
Another option which I rate slightly less is LINSTOR (via piraeus-operator or kube-linstor[6]). In my production environment I run Ceph -- it's almost certainly the best off the shelf option due to the features, support, and ecosystem around Ceph.
I've done some experiments with a reproducible repo (Hetzner dedicated hardware) attached as well[7]. I think the results might be somewhat scuffed but worth a look maybe anyways. I also have some older experiments comparing OpenEBS Jiva (AKA Longhorn) and HostPath [8].
[0]: https://github.com/rook/rook
[1]: https://openebs.io/
[3]: https://www.youtube.com/watch?v=OopRMUYiY5E
[5]: https://github.com/piraeusdatastore/piraeus-operator
[6]: https://github.com/kvaps/kube-linstor
[7]: https://vadosware.io/post/k8s-storage-provider-benchmarks-ro...
[8]: https://vadosware.io/post/comparing-openebs-and-hostpath/
[1] https://docs.min.io/docs/distributed-minio-quickstart-guide....
There are also SeaweedFS CSI Driver: https://github.com/seaweedfs/seaweedfs-csi-driver