Veröffentlicht am: 10. Oktober 2025

5 Minuten Lesezeit

Was ist YAML? Alles erklärt, von den Grundlagen bis zur Anwendung

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.

Was ist YAML?

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.

Wofür wird YAML verwendet?

Aufgrund seiner hohen Lesbarkeit wird YAML für Konfigurationsdateien und Playbooks verwendet. Hier sind einige Beispiele als Referenz:

  • Erstellung von Konfigurationsdateien
  • Log-Dateien
  • Nachrichtenaustausch zwischen Prozessen
  • Datenaustausch zwischen Anwendungen
  • Beschreibung strukturierter Daten

Was ist der Unterschied zwischen YAML und YML?

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

Der Unterschied zwischen YAML und JSON

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: YAML Key-Value Beispiel

JSON:

JSON Format Key-Value Beispiel

YAML vs. CUE im Vergleich

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.

YAML-Datenstruktur und Syntax (Grundlagen)

Wichtige Hinweise zum Schreiben von YAML-Dateien

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-Datenstruktur

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

    • Sequenzen
    • Mappings
  • Skalare

YAML-Syntax

image2

  • Mehrzeilige Collections: Verwende das | (vertikaler Balken) Symbol, wenn du das Format mehrerer Zeilen beibehalten musst.
  • Mehrzeiliges Format: Verwende >, wenn du lange String-Werte hast und diese über mehrere Zeilen mit beibehaltener Formatierung schreiben musst.
  • Listen: Listen werden mit - (Bindestrich) dargestellt.
  • Verschachtelung: Verschachtelte Datenstrukturen werden durch Einrückungen dargestellt.

Wie man Kubernetes (k8s) YAML-Dateien schreibt

In Kubernetes werden YAML-Dateien zur Definition von Ressourcen verwendet. Hier zeige ich dir, wie man YAML-Manifeste schreibt.

YAML-Manifest: YAML Kubernetes Manifest Beispiel

Wie man Ansible YAML-Dateien schreibt

In Ansible werden Playbooks, die Verarbeitungsabläufe beschreiben, in YAML geschrieben. Hier ist ein einfaches Beispiel eines Ansible-Playbooks:

image3

YAML in GitLab verwenden

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.

Lass uns gemeinsam eine YAML-Datei bearbeiten

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.

Häufig gestellte Fragen zu YAML

Wofür wird YAML verwendet?

Dank seiner Einfachheit und hohen Lesbarkeit wird YAML vielseitig eingesetzt – für Konfigurationsdateien, CI/CD-Pipelines, Container-Orchestrierung mit Kubernetes, Dokumentation und Konfigurationsmanagement.

Was ist der Unterschied zwischen YAML und JSON?

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.

Warum ist YAML so beliebt?

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.

Wir möchten gern von dir hören

Hat dir dieser Blogbeitrag gefallen oder hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und tausche deine Eindrücke aus.
Share your feedback

Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab

Stelle jetzt bessere Software schneller bereit

Erlebe, was dein Team mit der intelligenten

DevSecOps-Plattform erreichen kann.