I'm trying to make use of the new subPath
feature implemented in this pull request (recently released in v1.3).
However, the output of mount
shows it ignoring the subPath
, mounting the same NFS directory for both volume mounts:
nfs-server:/mnt/nfs/exports/apps/my-app on /home/share/foo type nfs4 (rw,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.128.0.4,local_lock=none,addr=nfs-server)
nfs-server:/mnt/nfs/exports/apps/my-app on /home/share/bar/baz type nfs4 (rw,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.128.0.4,local_lock=none,addr=nfs-server)
The relevant bits of my deployment YAML:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: app
spec:
replicas: 1
template:
metadata:
labels:
name: app
spec:
containers:
- name: app
image: my-org/my-app:latest
volumeMounts:
- mountPath: /home/share/foo
name: nfs
subPath: foo-resources
- mountPath: /home/share/bar/baz
name: nfs
subPath: baz-resources
volumes:
- name: nfs
nfs:
path: /mnt/nfs/exports/apps/my-app
server: nfs-server
I'm not 100% sure about this, as I'm using a configMap
volume rather than NFS, but I had to make the mountPath
match the subPath
as seen below before it worked for me.
FYI, I'm using Kubernetes v1.4.5.
If I'm reading this correctly, you are wanting to:
/mnt/nfs/exports/apps/my-app/foo-resources
such that it's path in the container is /home/share/foo/foo-resources
./mnt/nfs/exports/apps/my-app/baz-resources
such that it's path in the container is /home/share/bar/baz/baz-resources
.Try this:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: app
spec:
replicas: 1
template:
metadata:
labels:
name: app
spec:
containers:
- name: app
image: my-org/my-app:latest
volumeMounts:
- mountPath: /home/share/foo/foo-resources
name: nfs
subPath: foo-resources
- mountPath: /home/share/bar/baz/baz-resources
name: nfs
subPath: baz-resources
volumes:
- name: nfs
nfs:
path: /mnt/nfs/exports/apps/my-app
server: nfs-server
The differences:
16c16
< - mountPath: /home/share/foo/foo-resources
---
> - mountPath: /home/share/foo
19c19
< - mountPath: /home/share/bar/baz/baz-resources
---
> - mountPath: /home/share/bar/baz
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With