content
"}},Qt={element:"span",mutate:function(e){e.setAttribute("style","display: -webkit-flex; display: -ms-flexbox; display: flex;"),e.innerHTML='hello'}},Yt={element:"form",mutate:function(e){e.setAttribute("tabindex",0),e.setAttribute("disabled","disabled")}},en={element:"a",mutate:function(e){return e.href="#void",e.innerHTML='content
",e.firstElementChild}},xn=function(e){if(!e.ownerSVGElement&&"svg"!==e.nodeName.toLowerCase())return!1;var t=s();e.appendChild(t);var n=t.querySelector("input");return n.focus(),n.disabled=!0,e.removeChild(t),!0},yn={element:"div",mutate:function(e){return e.innerHTML=c('Veröffentlicht am: 10. Oktober 2025
5 Minuten Lesezeit
YAML ist ein Format, das für Konfigurationsdateien und mehr verwendet wird. Dieser Artikel erklärt die Grundlagen von YAML bis hin zu praktischen Anwendungen mit Kubernetes.
YAML ist ein Daten-Serialisierungsformat, das in Kubernetes-Dateien und Ansible-Playbooks verwendet wird. Dieser Artikel erklärt detailliert die grundlegende Syntax von YAML-Dateien und konkrete Anwendungsfälle.
YAML ist eine Programmiersprache, die entwickelt wurde, damit Menschen Daten prägnant und verständlich darstellen können. Sie wird häufig für Konfigurationsdateien und Datenübertragung verwendet. YAML eignet sich hervorragend zur Organisation hierarchischer Informationen und wird manchmal als Alternative zu JSON oder XML eingesetzt.
Aufgrund seiner hohen Lesbarkeit wird YAML für Konfigurationsdateien und Playbooks verwendet. Hier sind einige Beispiele als Referenz:
Beide bezeichnen Dateien im gleichen Format – der einzige Unterschied ist die Dateierweiterung ".yml" oder ".yaml". Die offizielle Erweiterung für YAML-Dateien ist .yaml, aber da Dateierweiterungen (.txt, .zip, .exe, .png usw.) üblicherweise aus drei Buchstaben bestehen, wurde .yml an diese Drei-Buchstaben-Regel angepasst. Entwickler(innen), die es kurz und prägnant mögen, wählen oft ".yml".
Über 6,4 Mio. Builds pro Monat: So transformiert Siemens seine Softwareentwicklung mit GitLab Über 40.000 Entwickler(innen) bei Siemens nutzen GitLab, um weltweit zusammenzuarbeiten und jeden Monat mehr als 6,4 Millionen Software-Versionen automatisch bereitzustellen. Erfahre, wie eine offene DevOps-Kultur und eine zentrale Plattform die Effizienz und Sicherheit steigern. Erfolgsstory lesen
Während JSON geschweifte Klammern zur Definition von Anforderungen verwendet, wird bei YAML die Struktur durch Einrückungen deutlich gemacht, was die Lesbarkeit erhöht. Vergleiche die folgenden Beispiele: Du wirst sehen, dass YAML auf Benutzerfreundlichkeit für Programmierer(innen) ausgelegt ist.
YAML:
JSON:
Während YAML eine hohe Lesbarkeit und einfache Struktur bietet, integriert CUE Schema und Daten, wodurch auch komplexe Konfigurationen in einer einzigen Datei verwaltet werden können. Außerdem verfügt CUE über Schema-Validierungsfunktionen, die mit YAML allein nicht möglich sind, was die Datenintegrität besser gewährleistet.
Flexibilität ist ebenfalls ein großes Merkmal. CUE ist eine Open-Source-Sprache (genauer gesagt ein Superset von JSON), die zur Definition, Generierung und Validierung aller Arten von Daten verwendet wird. Sie kann mit vielen anderen Sprachen wie Go, JSON, OpenAPI, Protocol Buffers und YAML zusammenarbeiten.
Mit Scripting-Funktionen über die Go-API gibt es Anwendungsfälle wie die Anzeige von CUE-Manifesten als finale Kubernetes-Ressourcen-YAML oder die Implementierung von Befehlen zur Auflistung von Ressourcen für die Bereitstellung in bestimmten Clustern.
Denk daran, dass Einrückungen und Tabs sehr wichtig sind. Zusätzliche Einrückungen oder verwendete Tabs können die Bedeutung von YAML-Objekten verändern, daher sind diese besonders wichtig.
YAML besteht hauptsächlich aus zwei Datentypen: Collections und Skalare. Collections bestehen aus Sequenzen und Mappings. Sequenzen sind Arrays, Mappings sind Name-Wert-Paare (Arrays, die als Key : Value ausgedrückt werden). Skalare dienen zur Typidentifizierung und repräsentieren Strings, Zahlen usw.
Collections
Skalare
In Kubernetes werden YAML-Dateien zur Definition von Ressourcen verwendet. Hier zeige ich dir, wie man YAML-Manifeste schreibt.
YAML-Manifest:
In Ansible werden Playbooks, die Verarbeitungsabläufe beschreiben, in YAML geschrieben. Hier ist ein einfaches Beispiel eines Ansible-Playbooks:
GitLab CI/CD-Pipelines verwenden für jedes Projekt eine YAML-Datei namens .gitlab-ci.yml, um die Pipeline-Struktur und Ausführungsreihenfolge zu definieren. Die in dieser Datei konfigurierten Inhalte werden im GitLab Runner verarbeitet. Weitere Informationen zur CI/CD YAML-Syntax findest du auf dieser Übersichtsseite.
Dank seiner Einfachheit und hohen Lesbarkeit wird YAML vielseitig eingesetzt – für Konfigurationsdateien, CI/CD-Pipelines, Container-Orchestrierung mit Kubernetes, Dokumentation und Konfigurationsmanagement. Die hohe Lesbarkeit ermöglicht es Entwicklern und Betriebsingenieuren, Konfigurationen und Daten einfach zu verwalten und effizient zu arbeiten. Wenn du YAML verstehst, kannst du Einstellungen für verschiedene Systeme und Tools einfacher und intuitiver vornehmen.
Dank seiner Einfachheit und hohen Lesbarkeit wird YAML vielseitig eingesetzt – für Konfigurationsdateien, CI/CD-Pipelines, Container-Orchestrierung mit Kubernetes, Dokumentation und Konfigurationsmanagement.
JSON-Dateien verwenden geschweifte Klammern zur Definition von Anforderungen, während bei YAML die Struktur durch Einrückungen deutlich gemacht wird, was die Lesbarkeit erhöht. Beachte jedoch, dass bei YAML Einrückungen und Leerzeichen sehr wichtig sind.
YAML ist eine beliebte Daten-Serialisierungssprache unter Entwicklern. Das liegt an seiner Lesbarkeit, Vielseitigkeit und dem Python-ähnlichen Einrückungssystem. YAML unterstützt mehrere Datentypen und bietet Parser-Bibliotheken für viele Programmiersprachen. Dadurch kann es verschiedene Daten-Serialisierungsaufgaben bewältigen und wird in vielen Bereichen eingesetzt.
Möchtest du GitLab Ultimate mit Duo Enterprise ausprobieren? Melde dich heute für eine kostenlose Testversion an.