Using NFS shares with Cozystack
Configure optional module
nfs-driver
to order volumes from NFS shares in CozystackDriver and provisioner setup
---
apiVersion: v1
kind: Namespace
metadata:
labels:
cozystack.io/system: "true"
pod-security.kubernetes.io/enforce: privileged
name: cozy-nfs-driver
spec:
finalizers:
- kubernetes
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
labels:
cozystack.io/repository: system
cozystack.io/system-app: "true"
name: nfs-driver
namespace: cozy-nfs-driver
spec:
chart:
spec:
chart: cozy-nfs-driver
reconcileStrategy: Revision
sourceRef:
kind: HelmRepository
name: cozystack-system
namespace: cozy-system
version: '>= 0.0.0-0'
dependsOn:
- name: cilium
namespace: cozy-cilium
- name: kubeovn
namespace: cozy-kubeovn
install:
crds: CreateReplace
remediation:
retries: -1
interval: 5m
releaseName: nfs-driver
suspend: true
upgrade:
crds: CreateReplace
remediation:
retries: -1
Finally, apply the configuration:
cd packages/system/csi-driver-nfs
make apply
Export share
apt install nfs-server
mkdir /data
chmod 777 /data
echo '/data *(rw,sync,no_subtree_check)' >> /etc/exports
exportfs -a
Configure connection
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs
provisioner: nfs.csi.k8s.io
parameters:
server: 10.244.57.210
share: /data
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
- nfsvers=4.1
Order volume
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
storageClassName: nfs
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Gi
Last modified 2025-07-04: [docs] Add NFS driver documentation (635496e)