This repository contains the Virim CSI driver (Controller Part) — a Kubernetes CSI-compatible plugin that extends the functionality of the official iSCSI CSI driver to support dynamic provisioning.
CSI plugin name: virium.csi.virer.net
This driver works in conjunction with a running and properly configured Viriumd API server, which handles the underlying LVM and iSCSI operations.
- Dynamic volume provisioning and deletion
- Multi-node support
- Attach, mount, detach, unmount workflows via CSI
- Kubernetes native PersistentVolume (PV) lifecycle integration
- Volume resizing support
- Snapshot creation
- Volume cloning
- A running instance of Viriumd, configured and reachable by the driver (please check here)
- iSCSI initiator configured on all cluster nodes
- Kubernetes v1.20+ (CSI-compatible)
Status: Beta
- 🚧 TLS communication and configuration option with Viriumd API
- 🚧 iSCSI discovery authentication planed
- 🚧 iSCSI session authentication planed
This project is open for testing, feedback, and contributions
For installation please use helm charts
Create a values.yaml
virium:
controller:
image:
repository: docker.io/scaps/virium-controller
tag: v0.2.3.4
node:
image:
repository: docker.io/scaps/virium-csi-driver-iscsi
tag: v0.2.3.4
nodeSelector:
kubernetes.io/os: linux
viriumConfig:
apiUsername: "virium_api_username"
apiPassword: "virium_api_password"
apiurl: "http://192.168.0.147:8787"
initiator: "iqn.2025-04.net.virer.virium:target1"
debug: "2"
Then configure the helm repository and deploy the charts
helm repo add virium https://virer.github.io/virium-helm-repo/
helm repo update
helm search repo virium
helm install a1 virium/virium --namespace=virium --create-namespace -f values.yaml
Then use the following storageClass:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: virium
provisioner: virium.csi.virer.net
allowVolumeExpansion: true
And use the following as snapshotClass:
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
name: csi-virium-snapclass
driver: virium.csi.virer.net
deletionPolicy: Delete