Skip to content

Instantly share code, notes, and snippets.

@clemenko
Last active April 15, 2025 08:53
Show Gist options
  • Save clemenko/bc9034e83a88db4fb57590b6533ee21f to your computer and use it in GitHub Desktop.
Save clemenko/bc9034e83a88db4fb57590b6533ee21f to your computer and use it in GitHub Desktop.

Harvester using the NFS-CSI Driver

This is a guide for installing the generic NFS-CSI driver.

install generic NFS CSI Driver

https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/install-csi-driver-v4.11.0.md

curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.11.0/deploy/install-driver.sh | bash -s v4.11.0 --

# get status 
watch -n 10 'kubectl -n kube-system get pod -o wide |grep csi-nfs'

add storage class

https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/deploy/example/README.md

cat << EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-csi
provisioner: nfs.csi.k8s.io
parameters:
  server: 192.168.1.178
  share: /opt
  # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume
  # csi.storage.k8s.io/provisioner-secret-name: "mount-options"
  # csi.storage.k8s.io/provisioner-secret-namespace: "default"
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
  - nfsvers=4.1

---

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
  name: nfs-csi-snapclass
  annotations:
    snapshot.storage.kubernetes.io/is-default-class: "false"
driver: nfs.csi.k8s.io
deletionPolicy: Delete
EOF

add image

We need to have an image on StorageClass

cat << EOF | kubectl apply -f -
apiVersion: harvesterhci.io/v1beta1
kind: VirtualMachineImage
metadata:
  name: nfsrocky94
  namespace: default
  annotations:
    harvesterhci.io/storageClassName: nfs-csi
spec:
  backend: cdi
  displayName: nfsubuntu
  retry: 3
  sourceType: download
  targetStorageClassName: nfs-csi
  url: https://cloud-images.ubuntu.com/minimal/releases/noble/release/ubuntu-24.04-minimal-cloudimg-amd64.img
EOF

troubleshooting

There is a good doc for troubleshooting : https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/csi-debug.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment