2017-06-09 2 views
0

Ich habe einen Pod mit zwei Containern erstellt. Ich weiß, dass verschiedene Container in einem Pod den gleichen Netzwerk-Namespace (d. H. Gleichen IP- und Port-Speicherplatz) teilen und sich auch ein Speichervolumen zwischen ihnen über Configmaps teilen können. Meine Frage ist, haben die Pods auch das gleiche Dateisystem. Zum Beispiel habe ich in meinem Fall einen Container 'C1', der alle 10 Minuten eine dynamische Datei in /var/targets.yml generiert und ich möchte, dass der andere Container 'C2' diese Datei liest und ihre eigene unabhängige Aktion ausführt.Teilen sich die Pods die Dateisysteme, ähnlich wie sie den gleichen Netzwerk-Namespace teilen?

Gibt es eine Möglichkeit, dies zu tun, möglicherweise eine Problemumgehung über Configmaps? oder muss ich über Netzwerk auf diese Datei zugreifen, da jeder Container seine eigene IP hat (aber das ist vielleicht keine gute Idee, wenn es um POD-Neustarts geht). Irgendwelche Vorschläge oder Referenzen bitte?

Antwort

1

Sie können eine emptyDir für diesen Einsatz:

apiVersion: v1 
kind: Pod 
metadata: 
    name: test-pd 
spec: 
    containers: 
    - image: gcr.io/google_containers/test-webserver 
    name: generating-container 
    volumeMounts: 
    - mountPath: /cache 
     name: cache-volume 
    - image: gcr.io/google_containers/test-webserver 
    name: consuming-container 
    volumeMounts: 
    - mountPath: /cache 
     name: cache-volume 
    volumes: 
    - name: cache-volume 
    emptyDir: {} 

aber darüber im Klaren sein, dass die Daten während der Behälter Erholungen nicht persistent ist.

+0

Das stimmt! .. Vielen Dank. Es klappt!!. Und um noch etwas hinzuzufügen, was ich aus Ihrer Antwort verstehe, ist Folgendes: "Verschiedene Container in einem Pod teilen nicht das Dateisystem, aber um auf Dateien anderer Container zuzugreifen, ist eine der Methoden wie von Ihnen vorgeschlagen". Bitte korrigieren Sie mich, wenn ich falsch liege. –

+1

Das ist richtig. – svenwltr

Verwandte Themen