--- apiVersion: v1 kind: Namespace metadata: labels: kubernetes.io/metadata.name: nfs name: nfs --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-csi provisioner: nfs.csi.k8s.io parameters: server: nfs-server.nfs.svc.cluster.local share: / reclaimPolicy: Delete volumeBindingMode: Immediate mountOptions: - nfsvers=4.2 --- kind: Service apiVersion: v1 metadata: namespace: nfs name: nfs-server labels: app: nfs-server spec: type: ClusterIP selector: app: nfs-server ports: - name: tcp-2049 port: 2049 protocol: TCP - name: udp-111 port: 111 protocol: UDP --- kind: Deployment apiVersion: apps/v1 metadata: namespace: nfs name: nfs-server spec: replicas: 1 selector: matchLabels: app: nfs-server template: metadata: name: nfs-server labels: app: nfs-server spec: nodeSelector: "kubernetes.io/os": linux containers: - name: nfs-server image: itsthenetwork/nfs-server-alpine:latest env: - name: SHARED_DIRECTORY value: "/exports" volumeMounts: - mountPath: /exports name: nfs-vol securityContext: privileged: true ports: - name: tcp-2049 containerPort: 2049 protocol: TCP - name: udp-111 containerPort: 111 protocol: UDP volumes: - name: nfs-vol hostPath: path: /var/lib/volumes/ type: Directory