Creating a NFS sidecar for Kubernetes

7/10/2019

I am trying to create a NFS sidecar for Kubernetes. The goal is to be able to mount an NFS volume to an existing pod without affecting performance. At the same time, I want to be able to mount the same NFS volume onto another pod or server (read-only perhaps) in order to view the content there. Has anyone tried this? Do anyone have the procedure?

-- ntype0076
kubernetes

1 Answer

7/10/2019

Rather than use a sidecar I would suggest using a PersistentVolume which uses the NFS driver and PersistentVolumeClaim. If you use the RWX/ReadWriteMany access mode, you'll be able to mount the share into multiple pods.

For examplen the pv:

kind: PersistentVolume
apiVersion: v1
metadata:
  name: mypv
spec:
  capacity:
    storage: 2Gi
  nfs:
    server: my.nfs.server
    path: /myshare
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle

the pvc:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: myclaim
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 2Gi

and mounted in a pod:

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: nginx
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: myclaim

Kubernetes Docs on Persistent Volumes

-- switchboard.op
Source: StackOverflow