Is there a way to share a persistent volume as a file between pods? For my App, I need common /etc/hosts
among the pods.
I want to mount the hostfile placed on the NFS volume file among the pods under /etc/hosts. I cannot use statefulset here because of some limitation in statefulsets.
You can share it with volumes if they are mounted with an access mode as ReadWriteMany
or ReadOnlyMany
and NFS supports that.
But I believe a nicer approach to sharing /etc/hosts
is just to use HostAliases
in your pods.
Example from the K8s docs:
apiVersion: v1
kind: Pod
metadata:
name: hostaliases-pod
spec:
restartPolicy: Never
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "foo.local"
- "bar.local"
- ip: "10.1.2.3"
hostnames:
- "foo.remote"
- "bar.remote"
containers:
- name: cat-hosts
image: busybox
command:
- cat
args:
- "/etc/hosts"
✌️