2017-12-29 14 views
0

ich einen Container patchen möchte ein Volumen in einen Container API (nicht anwendbar)In Kubernetes Wie in einem Einsatz

Dieser Patch funktioniert nicht mit dem Patch hinzufügen: My

spec: 
    template: 
    spec: 
     volumes: 
     - name: cep-debug-dir 
      persistentVolumeClaim: 
      claimName: cep-pvc-debug 
     containers: 
     name: cep 
     - mountPath: /debug 
      name: cep-debug-dir 
     volumeMounts: 
      - mountPath: /debug 
      name: cep-debug-dir 

Anwendungsfall ist die Erweiterung der Bereitstellung yaml Hinzufügen eines bereitgestellten Volume für die Entwicklung und in der Regel eine polymorphe Bereitstellung, ohne Yaml-Code zu wiederholen und Änderungen in zwei Dateien zu pflegen.

p.s Ich verwende Config Map und wenn ich ein If verwenden könnte, um das Volume bedingt zu montieren, wäre es cool.

Antwort

0

gedruckt I die Bereitstellung json und verwendet/bearbeiten die Felder in json Format und die Patch arbeitete In Terminal

kubectl patch deploy cep --patch "$(cat cep-deploy-patch.yaml)" 

file:

{ 
    "spec": { 
     "template": { 
      "spec": { 
       "containers": [{ 
        "name": "cep", 
        "volumeMounts": [{ 
         "mountPath": "/debug", 
         "name": "cep-debug-dir" 
        }] 
       }], 
       "volumes": [{ 
        "name": "cep-debug-dir", 
        "persistentVolumeClaim": { 
         "claimName": "cep-pvc-debug" 
        } 
       }] 
      } 
     } 
    } 
}