Skip to content

Instantly share code, notes, and snippets.

@clemenko
Created April 9, 2025 15:29
Show Gist options
  • Save clemenko/be40c51dda0537d81924a4f97ecad9ba to your computer and use it in GitHub Desktop.
Save clemenko/be40c51dda0537d81924a4f97ecad9ba to your computer and use it in GitHub Desktop.

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

or helm

helm repo add csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts --force-update 
helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs --namespace kube-system --version 4.11.0

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
parameters:
  csi.openstorage.org/snapshot-type: local
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: nfsrocky94
  retry: 3
  sourceType: download
  targetStorageClassName: nfs-csi
  url: https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment