6

Ich bin der gleichen Cluster für 2 Namespaces teilenInszenierung und Produktion. Die einzigen Unterschiede zwischen den beiden Namensräume sind: (! Getrennte Persistenz zwischen Inszenierung und Produktion, natürlich)Staging und Produktion auf Kubernetes

  1. Volumes auf bestimmte Hülsen für die relative
  2. Ein paar Web-URLs montiert
  3. Adressierung
  4. Ein paar IPs zu Datenbanken für anspruchsvolle Persistenz verwendet

ich es geschafft haben, (2) zu adressieren und (3) wie folgt, um so eine einzige YAML Datei für alle ReplicationControllers aufrechtzuerhalten:

  • Verwenden ConfigMaps lokal zu einem Namensraum eine beliebige Konfiguration zu definieren, die über Umgebungsvariablen in das übergeben wird Schoten
  • Verwenden Dienstleistungen mit Endpoints einem DNS-Eintrag, der auf verschiedenen internen IPs
0 zu handhaben

Aber ich bin nicht in der Lage, eine zufriedenstellende Art und Weise zu finden, eine Referenz für ein gcePersistentDisk ‚s pdName zu haben - Ich scheine einen ConfigMap, daher stumped ein wenig zu verwenden, kann nicht. Was wäre der geeignete Weg, um dies zu tun? Die beste Alternative scheint zu sein, 2 separate YAML Dateien mit verschiedenen Strings zu pflegen, aber das hat einen Code-Geruch, da es DRY verletzt.

Auch jeder konstruktiver Kommentar zu dem Rest meines Setup wie oben hoch :-)

geschätzt erwähnt

Antwort

2

Sie wahrscheinlich eine PersistentVolumeClaim in jedem Namensraum schaffen könnte. Werfen Sie einen Blick auf Can a PVC be bound to a specific PV? auf, wie PersistentVolumes zu PersistentVolumeClaims "pre-bind".

Vielleicht keine ideale Lösung, aber es funktioniert wahrscheinlich, bis PVCs Etikettenselektoren unterstützen.

+0

+1 Habe 'PersistentVolumeClaim' beim Lesen der Dokumente komplett verpasst! Gibt es eine Möglichkeit, eine Datei in 'kubectl create' zu ​​pipen? Auf diese Weise können wir einfache String-Ersetzungen über einen "Top-Level" -Befehl ausführen, anstatt durch diese Hoops zu springen. – Angad

+0

'sed ... | kubectl create -f-sollte funktionieren. – jayme

+0

Ich denke "Schnurrbart" läuft in CLI ist ideal, vorausgesetzt, Sie können Ihre shtuff in eine nette JSON-Datei :-) https://www.npmjs.com/package/mustache – Angad

Verwandte Themen