
Kubernetes: Deployment-, Service- und Ingress-YAML online validieren
Deployment, Service, Ingress: YAML-Struktur vor `kubectl apply` prüfen — lokal im Browser validieren, ohne Cluster und kubectl.
Warum Kubernetes-YAML vor `kubectl apply` validieren?
Ein Tippfehler in apiVersion, ein Deployment ohne spec.selector.matchLabels oder ein Ingress ohne pathType fällt oft erst nach dem Push auf — wenn CI, ein Kollege oder der API-Server das Manifest ablehnt. FastMinify führt kein kubectl aus, spricht keinen Cluster an und ist nicht kubeconform. Der Kubernetes-YAML-Validator führt strukturelle Prüfungen im Browser aus: Layer A (apiVersion, kind, metadata) plus kind-spezifische Regeln für Deployment, Service, Ingress und mehr. Kombinieren Sie ihn mit dem Kubernetes-Manifest-Formatter für lesbares Multi-Dokument-YAML. Der vollständige Cluster liegt im Kubernetes-Hub, Schwester des DevOps-Hubs (Compose, Terraform, Dockerfile).
Häufige Fehler und Workflow vor apply
Einige Fehler tauchen ständig in eingefügten Manifesten, Helm-Ausgabe und Tutorial-Snippets auf.
Ein Kubernetes-Rollout reist selten allein. Manifeste validieren, dann Image-Build und IaC für den Cluster prüfen.
Validieren vs. formatieren vs. kubeconform vs. kubectl
Browser-Validierung, Formatierung, OpenAPI-Schema-Tools und Cluster-Dry-Runs beantworten verschiedene Fragen. Sie zu vermischen ergibt hier ein grünes Häkchen und später eine rote CI.
Tool / Schicht
Was es beweist
Eine einfache Sequenz fängt die meisten Tippfehler ab, bevor etwas einen Cluster berührt.
Wann das Browser-Tool reicht
Für drei strukturelle Fehler in einem Ticket-Manifest brauchen Sie keinen Cluster oder kubeconfig.
Grenzen: was der Browser nicht ersetzt
Sobald Sie OpenAPI-Schema-Validierung gegen eine bestimmte Kubernetes-Version, CRD-Schemas oder Admission-Webhook-Policies brauchen, bleiben CLI-Tools und der apiserver Pflicht.
Der Validator liest nur das eingefügte YAML. Er löst keine Helm-Charts auf, expandiert keine Kustomize-Overlays und prüft nicht, ob ein von einem Ingress referenzierter Service-Name in einem anderen Dokument existiert.
CLI und Ökosystem
kubeconform, kubectl und yamllint bleiben der Standard in CI. FastMinify ergänzt Exploration und One-Shots.
kubeconform
Validiert Manifeste gegen Kubernetes-OpenAPI-Schemas (versioniert).
Vorteile:
Nachteile:
kubectl apply --dry-run=client
Client-seitiger Dry-Run mit lokaler Schema-Validierung (kubectl-Version abhängig).
Vorteile:
Nachteile:
yamllint
Generischer YAML-Linter für Einzug und Stil.
Vorteile:
Nachteile:
Häufige Manifeste: Deployment, Service und Ingress
Jedes Manifest ist ein YAML-Mapping mit apiVersion, kind und metadata (name oder generateName). FastMinify prüft die Paarung: z. B. erwartet Deployment apps/v1, Service v1, Ingress networking.k8s.io/v1. Veraltete API-Gruppen wie extensions/v1beta1 erzeugen eine Warnung — keinen harten Block.
Ein Deployment braucht spec.selector.matchLabels (nicht leer), spec.template.spec.containers (nicht leeres Array), und jeder Container braucht name und image. FastMinify prüft auch, dass spec.selector.matchLabels mit spec.template.metadata.labels übereinstimmt — ein klassischer Copy-Paste-Fehler, der YAML-Lint passiert, aber zur Laufzeit bricht.
Vorher
Nachher
Ein Service muss ein nicht leeres spec.ports-Array deklarieren; jeder Port braucht port (Zahl oder IntOrString-String). Ein Ingress (networking.k8s.io/v1) braucht spec.rules mit http.paths; jeder Path erfordert path, pathType (Prefix, Exact oder ImplementationSpecific) sowie backend.service.name und backend.service.port.number oder port.name.
Formatieren, validieren, generieren: ein konkreter Workflow
Öffnen Sie Kubernetes validieren, fügen Sie eine .yaml-/.yml-Datei ein oder laden Sie sie hoch (max. 512 KiB) und warten Sie auf das Debounce (~300 ms). Das Ergebnispanel listet Issues nach Level (Fehler, Warnung, Info) mit path, optionalem docIndex für Multi-Doc-Dateien und einer Zeile, wenn verfügbar. Gültig mit Warnungen zeigt trotzdem Issues — vor dem Merge lesen.
Das Tool Kubernetes formatieren pretty-printet Multi-Dokument-Manifeste via js-yaml (Einzug 2 oder 4 Leerzeichen). Einfügen, Upload oder Beispiel: Auto-Format; nach manueller Bearbeitung Format-Button (⌘↵). YAML-#-Kommentare gehen beim Round-Trip verloren — vorher kopieren, wenn Sie darauf angewiesen sind.
Sie migrieren von networking.k8s.io/v1beta1 zu v1. Das YAML parst noch, aber jeder Path braucht ein explizites pathType. Der Validator meldet invalid_path_type, bevor Sie einen Pipeline-Schritt mit kubectl apply verschwenden.
Fazit
Die Struktur von Kubernetes-Manifesten vor kubectl apply zu validieren, spart CI-Minuten für Tippfehler, die Sie im Browser fangen können. Nutzen Sie FastMinify als schnellen strukturellen Filter — formatieren für Lesbarkeit, validieren für GVK und Kind-Regeln — dann kubeconform oder Cluster-Dry-Run, wenn Schema-Wahrheit zählt. Weiter im Kubernetes-Hub für Generatoren, Helm-Values und im DevOps-Cluster für Compose und Terraform.
Verwandte Artikel

FastMinify-Cluster, Suchintentionen und Workflows im Überblick — Minify, DevOps, API und SVG im Browser, ohne Konto.

Unleserliche Traces, fehlende Maps: JS und CSS im Browser mit Unminify und Beautify lesbar machen — nur Formatierung, Namen bleiben weg.

`wp_postmeta`, PHP-Sessions und Laravel-Caches: per Unserialize zu lesbarem JSON — nur Arrays und Skalare, kein lokales Skript.