ytt-basiertes Templating ist ein enormer Hebel

Wir haben in unserem Beispiel eine Art umgekehrten Ansatz gewählt: Statt die YAMLs als Ausgangsbasis zu nehmen und Teile durch templatisierbare Elemente zu ersetzen, haben wir eine Generierung aufgebaut, die die finalen YAMLs aus den benötigten Bausteinen zusammensetzt. Auf diese Weise erhalten wir ein mächtiges Werkzeug, was uns viel Copy-Paste-Arbeit bei Änderungen erspart.

Stellenmarkt
  1. Java Software Engineer (m/w/d)
    über grinnberg GmbH, Raum Nürnberg
  2. Mitarbeiter Qualitätssicherung Softwareentwicklung Sozialwesen (m/w/d)
    Anstalt für Kommunale Datenverarbeitung in Bayern (AKDB), München
Detailsuche

Alle zu einem Produkt gehörenden Dateien können mit nur einem kubectl apply-Befehl im Cluster angewendet werden; trotzdem ist die Anwendung der Dateien maximal transparent und man weiß vor der Anwendung exakt, was im Cluster laufen wird. Gleichzeitig bekommen wir durch die Nutzung von Git eine Historisierung und ein Quality-Gate bei Änderungen.

Wir konnten hier das tatsächliche Potenzial dieser Templating-Lösung nur anreißen. Trotzdem sollte recht klar werden, welchen enormen Hebel man mit ihr in der Hand hält. Natürlich können andere Lösungen manche Dinge genauso gut. Die absolute Stärke eines ytt-basierten Templatings nach dieser Bauart ist aber die Universalität und die enorme Vielseitigkeit.

Dazu ein hochaktuelles Beispiel: Bei der Mitigierung der Bedrohung von log4shell half das Templating enorm: In einer Produktions-Umgebung konnten über 970(!) Kubernetes-Deployments mit einem Schlag angepasst und abgesichert werden; wiederholbar und deterministisch. Und das mit nur einer einzigen geänderten Zeile in den Sources.

Ausblick

Golem Karrierewelt
  1. Green IT: Praxisratgeber zur nachhaltigen IT-Nutzung (virtueller Ein-Tages-Workshop)
    10.08.2022, virtuell
  2. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    26.-28.09.2022, Virtuell
Weitere IT-Trainings

Wenn wir nun - ausgehend von unserem fiktiven (und rudimentären) Beispiel - einen Blick in die Realität wagen, wird schnell klar, dass viele weitere Anforderungen abgebildet werden müssen. Zum Beispiel:

  • mTLS (via Linkerd)
  • Ingresses und Network-Policies
  • Image-Policies (nur signierte Images in prod)
  • Service-Accounts
  • Secrets und/oder Secret-Store-Anbindung (Vault)
  • Persistenz-Anbindung (Persistent Volumes, S3)
  • Backups
  • Feature-Toggles (Produkt-Features an-/abschalten)
  • Zusätzliche Produktlinien (z. B.: Shop für Custom-Räder)

Dass all diese Funktionen lauffähig und wartbar in das hier gezeigte Beispiel eingeflochten werden können, ist dabei keineswegs ein gewagtes Versprechen, sondern gelebte Praxis. In konkreten Zahlen eines realen Anwendungsfalls bedeutet das:

Skalierbare Container-Infrastrukturen: Das Handbuch für Admins & DevOps-Teams, inkl. Docker und Container-Orchestrierung mit Kubernetes und OpenShift

20 in Kubernetes betriebene Produkte in verschiedenen Umgebungen. Jedes Produkt besteht aus rund 60 Pods plus zusätzlichen Ressourcen wie Ingresses, Service-Accounts, Secrets, Volumes und so weiter.

Das Templating erzeugt außerdem Skripte für das Befüllen von Vault oder das Anlegen der Datenbank-User. Der Code des Beispiel-Repositories kann hier aus Platzgründen nicht vollständig diskutiert werden.

Für Fragen, Anregungen und Kritik steht der Autor gerne über die Kommentarfunktion zur Verfügung.

Jochen R. Meyer arbeitet seit über 15 Jahren in der Softwareentwicklung. In seiner aktuellen Rolle als Software Dev & Ops Engineer kümmert er sich in einem kleinen Team um die CI/CD-Toolchain und vor allem um den reibungslosen Betrieb der Kubernetes-basierten Services und Komponenten.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Die Sources - ein Mix aus YAML und Code
  1.  
  2. 1
  3. 2
  4. 3
  5. 4


Aktuell auf der Startseite von Golem.de
Franziska Giffey
Deepfake von Klitschko täuscht Berlins Bürgermeisterin

Berlins Regierende Bürgermeisterin Franziska Giffey (SPD) hat per Videokonferenz mit einem Deepfake von Vitali Klitschko gesprochen. Der Betrug flog auf.

Franziska Giffey: Deepfake von Klitschko täuscht Berlins Bürgermeisterin
Artikel
  1. Datenpanne: IT-Mitarbeiter verliert USB-Stick mit Meldedaten einer Stadt
    Datenpanne
    IT-Mitarbeiter verliert USB-Stick mit Meldedaten einer Stadt

    Die Tasche mit dem USB-Stick wurde über in ihr ebenfalls enthaltene Smartphone geortet und gefunden.

  2. Hollywood und das Internet: Sind wir schon drin?
    Hollywood und das Internet
    Sind wir schon drin?

    Die neue Dokuserie Web of Make Believe taucht auf Netflix in die Untiefen des Internets ein. So realistisch hat Hollywood das Netz jahrzehntelang nicht thematisiert.
    Von Peter Osteried

  3. Logistik: Post will mit Solarschiff Pakete in Berlin verteilen
    Logistik
    Post will mit Solarschiff Pakete in Berlin verteilen

    Die Post will Pakettransporte von der Straße aufs Wasser verlagern. Das erste der Schiffe wird mit Solarstrom betrieben. In Zukunft sollen sie autonom fahren.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MSI 323CQRDE (WQHD, 165 Hz) 399€ • LG OLED 48C17LB 919€ • Samsung 980 PRO (PS5-komp.) 2 TB 234,45€ • Apple HomePod Mini 84€ • 16.000 Artikel günstiger bei Media Markt • MindStar (u. a. AMD Ryzen 7 5700G 239€, Samsung 970 EVO Plus 250 GB 39€ und Corsair Crystal 680X RGB 159€) [Werbung]
    •  /