2016-08-01 3 views
4

Ich versuche, in this Pull-Anforderung umgesetzt Nutzung des neuen subPath Features zu machen (vor kurzem in v1.3 veröffentlicht).volumeMount subpath funktioniert nicht

jedoch die Ausgabe von mount zeigt es die subPath ignorieren, die gleiche NFS-Verzeichnis für beide Volumen Halterungen Montage:

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) 

die entsprechenden Bits meiner Einsatz 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 

Antwort

0

Ich hatte dieses Problem, wenn ich einen Kubernetes 1.4 Cluster mit kubectl Version 1.2 zu aktualisieren versuchte. Versuchen Sie, Ihre kubectl aktualisieren und dann kubectl apply auf die entsprechende Datei ausgeführt wird.

3

Ich bin mir nicht 100% sicher darüber, da ich ein configMap Volume anstelle von NFS verwende, aber ich musste die mountPath passen die subPath wie unten gesehen, bevor es für mich funktionierte.

FYI, ich bin mit Kubernetes v1.4.5.

Wenn ich das richtig bin zu lesen, Sie wollen:

  • Berg der NFS-Datei oder das Verzeichnis /mnt/nfs/exports/apps/my-app/foo-resources, so dass es den Weg in den Behälter ist /home/share/foo/foo-resources.
  • Berg, die NFS-Datei oder das Verzeichnis /mnt/nfs/exports/apps/my-app/baz-resources, so dass es Weg ist /home/share/bar/baz/baz-resources im Behälter ist.

Versuchen Sie folgendes:

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 

Die Unterschiede:

16c16 
<   - mountPath: /home/share/foo/foo-resources 
--- 
>   - mountPath: /home/share/foo 
19c19 
<   - mountPath: /home/share/bar/baz/baz-resources 
--- 
>   - mountPath: /home/share/bar/baz 
Verwandte Themen