2016-03-23 4 views
5

K8S 1.2 eingesetzt locally, single-node dockerKubernetes ConfigMap Volumen erzeugt keine Datei im Container

Bin ich etwas falsch? Funktioniert das für alle anderen oder ist etwas in meiner k8s-Bereitstellung kaputt?

Nach dem Beispiel in der ConfigMaps Führung sollte /etc/config/special.how unten erstellt werden, ist aber nicht:

[[email protected] brs-kubernetes]# kubectl create -f example.yaml 
configmap "special-config" created 
pod "dapi-test-pod" created 
[[email protected] brs-kubernetes]# kubectl exec -it dapi-test-pod -- sh 
/# cd /etc/config/ 
/etc/config # ls 
/etc/config # ls -alh 
total 4 
drwxrwxrwt 2 root  root   40 Mar 23 18:47 . 
drwxr-xr-x 7 root  root  4.0K Mar 23 18:47 .. 
/etc/config # 

example.yaml

apiVersion: v1 
kind: ConfigMap 
metadata: 
    name: special-config 
    namespace: default 
data: 
    special.how: very 
    special.type: charm 
--- 
apiVersion: v1 
kind: Pod 
metadata: 
    name: dapi-test-pod 
spec: 
    containers: 
    - name: test-container 
     image: gcr.io/google_containers/busybox 
     command: ["sleep", "100"] 
     volumeMounts: 
     - name: config-volume 
     mountPath: /etc/config 
    volumes: 
    - name: config-volume 
     configMap: 
     name: special-config 
     items: 
     - key: special.how 
      path: how.file 
    restartPolicy: Never 

Zusammenfassung der Konformitätstest Ausfälle folgt (gebeten, von jayunit100 zu laufen). Volle Ausführung in diesem gist.

Summarizing 7 Failures: 

[Fail] ConfigMap [It] updates should be reflected in volume [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/configmap.go:262 

[Fail] Downward API volume [It] should provide podname only [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/util.go:1637 

[Fail] Downward API volume [It] should update labels on modification [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/downwardapi_volume.go:82 

[Fail] ConfigMap [It] should be consumable from pods in volume with mappings [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/util.go:1637 

[Fail] Networking [It] should function for intra-pod communication [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/networking.go:121 

[Fail] Downward API volume [It] should update annotations on modification [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/downwardapi_volume.go:119 

[Fail] ConfigMap [It] should be consumable from pods in volume [Conformance] 
/home/schou/dev/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/util.go:1637 

Ran 93 of 265 Specs in 2875.468 seconds 
FAIL! -- 86 Passed | 7 Failed | 0 Pending | 172 Skipped --- FAIL: TestE2E (2875.48s) 
FAIL 

Ausgabe von findmnt:

[[email protected] single-node]$ findmnt 
TARGET        SOURCE  FSTYPE OPTIONS 
/         /dev/mapper/fedora-root 
│            ext4 rw,relatime,data=ordere 
├─/sys        sysfs  sysfs rw,nosuid,nodev,noexec, 
│ ├─/sys/kernel/security    securityfs securit rw,nosuid,nodev,noexec, 
│ ├─/sys/fs/cgroup     tmpfs  tmpfs ro,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/systemd   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/cpuset   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/net_cls,net_prio cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/memory   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/hugetlb   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/cpu,cpuacct  cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/perf_event  cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/pids    cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/blkio   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ ├─/sys/fs/cgroup/freezer   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ │ └─/sys/fs/cgroup/devices   cgroup  cgroup rw,nosuid,nodev,noexec, 
│ ├─/sys/fs/pstore     pstore  pstore rw,nosuid,nodev,noexec, 
│ ├─/sys/firmware/efi/efivars   efivarfs efivarf rw,nosuid,nodev,noexec, 
│ ├─/sys/kernel/debug     debugfs debugfs rw,relatime 
│ ├─/sys/kernel/config    configfs configf rw,relatime 
│ └─/sys/fs/fuse/connections   fusectl fusectl rw,relatime 
├─/proc        proc  proc rw,nosuid,nodev,noexec, 
│ ├─/proc/sys/fs/binfmt_misc   systemd-1 autofs rw,relatime,fd=32,pgrp= 
│ └─/proc/fs/nfsd      nfsd  nfsd rw,relatime 
├─/dev        devtmpfs devtmpf rw,nosuid,size=8175208k 
│ ├─/dev/shm       tmpfs  tmpfs rw,nosuid,nodev 
│ ├─/dev/pts       devpts  devpts rw,nosuid,noexec,relati 
│ ├─/dev/mqueue      mqueue  mqueue rw,relatime 
│ └─/dev/hugepages     hugetlbfs hugetlb rw,relatime 
├─/run        tmpfs  tmpfs rw,nosuid,nodev,mode=75 
│ ├─/run/user/42      tmpfs  tmpfs rw,nosuid,nodev,relatim 
│ │ └─/run/user/42/gvfs    gvfsd-fuse fuse.gv rw,nosuid,nodev,relatim 
│ └─/run/user/1000     tmpfs  tmpfs rw,nosuid,nodev,relatim 
│ └─/run/user/1000/gvfs    gvfsd-fuse fuse.gv rw,nosuid,nodev,relatim 
├─/tmp        tmpfs  tmpfs rw 
├─/boot        /dev/sda2 ext4 rw,relatime,data=ordere 
│ └─/boot/efi       /dev/sda1 vfat rw,relatime,fmask=0077, 
├─/var/lib/nfs/rpc_pipefs    sunrpc  rpc_pip rw,relatime 
├─/var/lib/kubelet/pods/fd20f710-fb82-11e5-ab9f-0862662cf845/volumes/kubernetes.io~secret/default-token-qggyv 
│          tmpfs  tmpfs rw,relatime 
├─/var/lib/kubelet/pods/2f652e15-fb83-11e5-ab9f-0862662cf845/volumes/kubernetes.io~configmap/config-volume 
│          tmpfs  tmpfs rw,relatime 
└─/var/lib/kubelet/pods/2f652e15-fb83-11e5-ab9f-0862662cf845/volumes/kubernetes.io~secret/default-token-6bzfe 
             tmpfs  tmpfs rw,relatime 
[[email protected] single-node]$ 
+0

Was bedeutet "funktioniert nicht" genau? Können Sie Protokolle oder Fehlermeldungen posten? – RoadieRich

+0

In der ursprünglichen Frage. Keine Fehlermeldungen, nur nichts in/etc/config. Tut mir leid, bemerkte, dass meine Frage saugt ... versuchte es zu bearbeiten, um dies zu sagen – reflection

+0

Ok, aber fängt es überhaupt an? 15 Sekunden laufen lassen und dann leise schließen? gut laufen, aber keine Verbindungen akzeptieren? Sing "Daisy Daisy" und versuche dich zu töten? Theres eine ganze Menge Dinge "funktioniert nicht" könnte bedeuten. – RoadieRich

Antwort

7

Dank @ Paul Morie für die Hilfe bei der Diagnose und Behebung dieses (von Github issue):

Bingo, die Ausbreitung Mount Modus/var/lib/kubelet ist privat. versuchen, den Mount-Flag für die kubelet dir zu -v /var/lib/kubelet:/var/lib/kubelet:rw,shared Ändern

Ich musste auch MountFlags=slave-MountFlags=shared in meiner Docker systemd Datei ändern.

+1

Wissen Sie, wie ich die Mounten-Flags mit Docker-Maschine ändern kann? – shmish111

+0

Nichts zum Ändern von 'MountFlags' auf' docker-machine'? – mettjus

+0

Können Sie den vollständigen Befehl, den Sie verwenden, verwenden, damit das funktioniert? Das Hinzufügen von 'shared' gab mir' Pfad/var/lib/kubelet wurde gemountet/aber es ist kein freigegebenes mount..' und das Ändern von '/' nach 'shared' gab mir' Pfad/ist gemountet auf/aber Es ist kein geteiltes Reittier.' – kichik

Verwandte Themen