NFS Setup (Optional)
The infrastructure supports optional NFS (Network File System) for shared media storage across the cluster. If your config.yaml contains the cloud.nfs
section, the NFS server will be set up automatically.
Host Setup
First, set up the NFS server on your chosen host.
./setup-nfs-host.sh <host> <media-path>
Example:
./setup-nfs-host.sh box-01 /srv/nfs
Cluster Integration
Add to your config.yaml
:
cloud:
nfs:
host: box-01
mediaPath: /srv/nfs
storageCapacity: 250Gi # Max size for PersistentVolume
And now you can run the nfs cluster setup:
setup/setup-nfs-host.sh
Features
- Automatic IP detection - Uses network IP even when hostname resolves to localhost
- Cluster-wide access - Any pod can mount the NFS share regardless of node placement
- Configurable capacity - Set PersistentVolume size via
NFS_STORAGE_CAPACITY
- ReadWriteMany - Multiple pods can simultaneously access the same storage
Usage
Applications can use NFS storage by setting storageClassName: nfs
in their PVCs:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: media-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: nfs
resources:
requests:
storage: 100Gi