Kubernetes / Helm

Kubernetes YAML validieren— Ressourcen im Zusammenhang prüfen

Version auswählen, Feldfehler untersuchen und einzelne Ressourcen aus dem Manifest exportieren.

Kubernetes YAML validieren

Manifest-YAML

Ressourcen und Ergebnis

Ergebnis veraltet. Erneut formatieren.

Manifeste und eigene Schemas bleiben im Browser. Es wird keine Clusterverbindung aufgebaut.

Prüfeinstellungen
Schema für eigene Ressourcen

Draft-07-JSON-Schema für genau eine apiVersion/kind-Kombination einfügen. Interne Referenzen sind möglich; externe werden nicht geladen. CEL wird nicht ausgeführt.

Ergebnis veraltet. Erneut formatieren.

Statische Prüfungen garantieren kein Deployment. YAML lässt sich auch mit Validierungsfehlern exportieren; zuerst die Diagnosen lesen.

Kubernetes YAML validieren hilft vor allem dann, wenn ein Parser keinen Syntaxfehler findet, die Konfiguration aber trotzdem fragwürdig bleibt. Ein korrekt eingerücktes Feld kann am falschen Ort stehen oder den falschen Datentyp haben. Die Dokumentnummer hält den Befund mit der betroffenen Ressource zusammen.

Für Kubernetes-Manifeste stehen die festen Schemastände 1.35.0, 1.36.0 und 1.37.0 bereit. Das Werkzeug liest keine kubeconfig und bestimmt keine Cluster-Version automatisch. Ein Ergebnis bezieht sich auf den ausgewählten Stand und den gerade eingegebenen Inhalt.

Kubernetes YAML validieren mit Dokumentkontext

Von der Diagnose zurück zum richtigen Objekt

Kubernetes YAML validieren heißt hier auch, Ressourcen nach kind, Namespace und Name zu unterscheiden. Diagnosen nennen Dokument, Zeile, Spalte und Feldpfad. Die Auswahl eines einzelnen Dokuments ändert nur die Ausgabe; der gesamte Eingabestrom bleibt für die Prüfung erhalten.

Drei getrennte Manifestkarten werden einer Ressourcenliste zugeordnet; ein Feldfehler ist hervorgehoben.

Lokale Beziehungen ohne falsche Clusterannahmen

Service-Selektoren werden mit Pod-Labels und Workload-Templates im selben Namespace verglichen. Referenzen auf ConfigMaps und Secrets werden ebenfalls gesucht. Ein fehlendes Objekt wird als Hinweis gemeldet, weil es bereits im Cluster existieren kann, ohne in dieser Eingabe enthalten zu sein.

Ein Service ist mit passenden Workloads verbunden, während eine fehlende Konfigurationsreferenz einen Hinweis erhält.

Version, Vorschau und Ausgabe abstimmen

01

Nach einer Änderung erneut prüfen

Voreingestellt ist 1.37.0. Änderungen an Inhalt, Version, Einrückung oder eigenem Schema sperren den Export des alten Ergebnisses. Die Prüfung startet per Schaltfläche oder Ctrl/Cmd+Enter. Eine automatische Prüfung während des Tippens findet nicht statt.

02

Den eigenen Ressourcentyp exakt angeben

Für eine Custom Resource apiVersion und kind zusammen mit einem Draft-07-Schema eintragen. Nur exakt passende Ressourcen verwenden diese Definition. Interne Referenzen funktionieren; fehlende externe Referenzen führen zu einem Fehler statt zu einem Download.

03

Die Vorschau bewusst übernehmen

Formatieren und Zusammenführen zeigen vor dem Ersetzen Zeichen- und Dokumentzahlen. Erst Übernehmen ändert die Eingabe. Rückgängig stellt Eingabe und vorheriges Ergebnis gemeinsam wieder her. Für den Export lässt sich zwischen allen Dokumenten und einer Ressource wechseln.

Struktur, Namen und Verweise prüfen

Vollständige Definitionssätze pro Version

Die mitgelieferten Schemas stammen aus einem festgeschriebenen Registry-Commit und wurden aus Kubernetes OpenAPI abgeleitet. Sie prüfen zusätzliche Felder, Pflichtwerte und Typen. Pro Ressource erscheint zunächst der erste Schemafehler; nach einer Korrektur kann ein weiterer sichtbar werden.

Ressourcenidentitäten vergleichen

Für verbreitete Typen gelten DNS-Namensprüfungen, für RBAC gelten Regeln für Pfadsegmente. API-Gruppe, kind, Namespace und Name bestimmen eine doppelte Identität; die API-Version unterscheidet dasselbe Objekt nicht. Nicht abgedeckte Namensregeln bleiben ausdrücklich offen. Job-Namen sind auf 63 Zeichen begrenzt, CronJob-Namen auf 52.

Referenzen in Workload-Templates

Neben Pods werden unter anderem Deployment-, StatefulSet-, Job- und CronJob-Templates berücksichtigt. Untersucht werden Umgebungsvariablen, Volumes und projizierte Volumes mit ConfigMap- oder Secret-Verweisen. Weder einzelne Konfigurationsschlüssel noch tatsächliche Netzwerkverbindungen werden getestet.

Multi-Doc-Manifeste mit Kommentaren

Die Formatierung arbeitet auf dem YAML-Syntaxbaum. Kommentare, Anker und numerische Quellschreibweisen bleiben erhalten. Lokale Dateien lassen sich verbinden und Dokumente einzeln exportieren. Ressourcen werden dabei weder sortiert noch automatisch von unbekannten Feldern bereinigt.

Grenzen der statischen Aussage

Keine Simulation der Zulassung
CEL, Webhooks, RBAC, Scheduling, Images und Feature Gates werden nicht ausgeführt. Serverseitige Standardwerte werden nicht eingesetzt. Für Service-Namen gilt die normale Regel mit einem Buchstaben am Anfang; gelockerte Namensregeln des Clusters bleiben außerhalb der Prüfung.
Eigene Schemas statt automatischer Erkennung
Ohne passendes Schema bleibt ein Ressourcentyp ungeprüft. Das Werkzeug extrahiert keine Definition aus CRD-Objekten und rendert weder Helm noch Kustomize. Es lädt keine externen Referenzen nach und akzeptiert im eigenen Schemabereich Draft-07 für den ausdrücklich angegebenen Typ.
List ist kein Dokumenttrenner
Mehrere Ressourcen mit --- trennen. Objekte vom Typ List oder mit der Endung List werden nicht in einzelne items zerlegt. Leere Dokumente erscheinen nicht in der Ressourcenliste; die übrigen behalten ihre ursprünglichen Nummern.
Begrenzte Eingabe und Laufzeit
Es gelten höchstens 500.000 Zeichen, 100 Dokumente, 100 Verschachtelungsebenen, 50.000 Parserknoten und 1.000 Diagnosen. Ein Worker stoppt nach 8 Sekunden. Doppelte Schlüssel, nicht unterstützte Tags, übermäßige Aliasexpansion und unsichere Ganzzahlen werden zurückgewiesen.
Export ist keine Freigabe
Auch bei Strukturfehlern kann formatiertes YAML gespeichert werden, um einen Arbeitsstand zu sichern. Syntaxfehler und veraltete Ergebnisse sperren den Export. Leerraum und Flow-Stil können sich ändern; vor dem Zurückschreiben ist deshalb die Vorschau zu prüfen.

Kubernetes YAML validieren: häufige Fragen

Warum sollte ich YAML vor kubectl apply prüfen?

So lassen sich Feldfehler bereits bei der Durchsicht finden. Kubernetes YAML validieren kann eine falsche Einrückung von einem falschen Feldtyp unterscheiden. Die spätere Prüfung im Zielcluster bleibt notwendig, weil dessen Zulassungsregeln und aktueller Zustand hier nicht bekannt sind.

Bedeutet ein gültiges Ergebnis, dass das Manifest angewendet wird?

Nein. Das Ergebnis beschreibt statische Checks anhand eines festen Schemas. Berechtigungen, Admission-Webhooks, Quotas, Images und Laufzeitbedingungen können eine Anwendung weiterhin verhindern. Verwenden Sie den Befund als Teil der Prüfung, nicht als Deployment-Freigabe.

Werden CRDs vollständig validiert?

Unbekannte eigene Ressourcen brauchen ein vom Benutzer bereitgestelltes Schema. Der Inhalt einer CRD wird nicht automatisch als Definition für andere Dokumente übernommen. Kubernetes-Erweiterungen wie CEL werden nicht ausgeführt; vollständige serverseitige Semantik ist daher nicht abgedeckt.

Sind Dateien mit mehreren Dokumenten möglich?

Ja, bis zu 100 mit --- getrennte Dokumente. Nichtleere Dokumente erscheinen einzeln in der Ressourcenliste und lassen sich separat speichern. Ein List-Objekt wird dagegen ausdrücklich nicht aufgelöst oder als Sammlung geprüfter items behandelt.

Kann ich das als Kubernetes-YAML-Validator verwenden?

Als Kubernetes-YAML-Validator prüft die Seite Ressourcen gegen mitgelieferte oder eigene Definitionen. Ein eigenes Draft-07-Schema wird vor seiner Verwendung überprüft. Für unabhängige Schemaentwicklung oder allgemeine Konfigurationsdateien ist ein spezialisierter JSON-Schema- beziehungsweise YAML-Prüfer geeigneter.

Ein Ergebnis ist unklar?

Das nächste Manifest durchsehen

Kubernetes YAML validieren lässt sich in die normale Review-Routine aufnehmen: Version festhalten, Befunde korrigieren, erneut prüfen und genau den benötigten Dokumentumfang exportieren.