Kubernetes

Helm Values DiffDie Wirkung einer Änderung prüfen

Gemeinsame Standardwerte, zwei unabhängige Overrides und ihre wirksamen Konfigurationen.

Helm Values Diff

Alte Overrides

Änderungen

Alle drei Eingaben werden in diesem Browser verarbeitet und nicht hochgeladen.

Ausgabewerte werden zunächst maskiert. Pfade und Schlüssel bleiben sichtbar; Eingaben und Ersetzungsvorschauen zeigen Originaltext. Maskiertes YAML dient nur dem Review.

Helm 3.19.0, einzelner Chart: Vorgaben → jeder Override getrennt. Maps werden zusammengeführt, Listen ersetzt und anschließend nach Index verglichen.

Je Eingabe 200.000 Zeichen, 20.000 Knoten, Tiefe 60. Bericht: 5.000 Änderungen / vier Millionen Zeichen. Laufzeit: fünf Sekunden.

Konfigurationen eingeben oder Vergleich starten.

Helm Values Diff hilft bei Reviews von Values-Dateien: Eine entfernte Zeile kann einen Helm Standardwert wieder aktivieren. Prüfen Sie deshalb sowohl die wirksamen Werte als auch die ursprünglichen Overrides. So lässt sich unterscheiden, ob nur eine Deklaration verschwindet oder sich die Konfiguration tatsächlich ändert.

Warum Helm Values Diff verwenden?

Zurückkehrende Standardwerte erkennen

Helm Values Diff führt jede Version getrennt mit denselben Vorgaben zusammen. Fehlt replicas im neuen Override, gilt wieder der Standardwert. Der alte Override wird dabei nicht zur zusätzlichen Basisschicht der neuen Version.

Ein gemeinsamer Konfigurationsbaum führt zu zwei getrennten Zweigen; ein entfernter Override legt den geerbten Standard frei.

Änderungen erkennen, Inhalte verbergen

Der Vergleich findet vor der Maskierung statt. Unterschiedliche Kennwörter bleiben als Änderung sichtbar, auch wenn beide Platzhalter gleich aussehen. Neu hinzugefügte Objekte und darin enthaltene Listen werden ebenfalls vollständig auf skalare Werte geprüft.

Zwei verschiedene Werte werden abgedeckt; die Markierung ihrer Änderung bleibt zwischen ihnen sichtbar.

Deklaration, Wirkung und Export auseinanderhalten

01

Drei Eingaben getrennt halten

Die Auswahl links bewahrt drei unabhängige Texte. Tragen Sie die Chart-Vorgaben sowie je einen vollständigen alten und neuen Override ein. Eine leere Eingabe entspricht einer leeren Map. Sind alle drei leer, verlangt die manuelle Ausführung eine Eingabe.

02

Die passende Vergleichsebene wählen

Standardmäßig werden wirksame Werte verglichen. Der Modus für ursprüngliche Overrides zeigt auch Deklarationsänderungen ohne Auswirkung. Die beiden zusammengeführten Ansichten zeigen immer wirksame Werte, unabhängig vom Vergleichsmodus.

03

Nur aktuelle Ergebnisse weitergeben

Automatisch startet der Vergleich nach 350 ms Ruhe. Nach dem Ausschalten stehen Vergleichen und Ctrl/Cmd+Enter bereit. Änderungen an Eingaben oder Optionen sperren alte Exporte sofort. Ersetzungen zeigen Vorschau und Zeichenzahlen; einmaliges Rückgängigmachen stellt Eingaben und Bericht wieder her.

Änderungen mit nachvollziehbaren Pfaden

Rekursive Maps, ersetzte Listen

Maps behalten nicht überschriebene Standardkinder. Eine leere Map löscht diese Kinder nicht; eine leere Liste ersetzt dagegen die ganze Vorgabeliste. false, 0 und eine leere Zeichenfolge bleiben eigenständige Werte.

Typen und fehlende Schlüssel

Jede Änderung erhält einen JSON-Pointer-Pfad und Vorher-/Nachher-Typen. Fehlend, null und die Zeichenfolge "null" sind verschieden. Im Pfad steht ~1 für einen Schrägstrich und ~0 für eine Tilde.

Struktur statt Formatierungsrauschen

Kommentare, Leerraum und die Reihenfolge von Map-Schlüsseln beeinflussen das Ergebnis nicht. Listen werden nach dem Zusammenführen positionsweise verglichen. Ein Eintrag am Anfang kann daher mehrere Folgepositionen verändern; Namensabgleich oder Bewegungserkennung gibt es nicht.

Vollständige Prüfdateien

JSON enthält Modell, Modus, Maskierungsstatus, alle Änderungen und beide wirksamen YAML-Dokumente. Eine YAML-Ansicht exportiert nur die gewählte Version. Angezeigt werden zunächst 50 Änderungen, weitere lassen sich einblenden; der Export bleibt vollständig.

Grenzen des lokalen Modells

Ein Chart mit festgelegter Semantik
Das Modell folgt Helm 3.19.0 für einen Chart ohne Abhängigkeiten. Es berechnet keine Subcharts, global-Verteilung, import-values oder Abhängigkeitsbedingungen. Go-Templates, tpl und lookup werden nicht ausgeführt; Cluster, Release und Schema werden nicht geprüft.
Bewusst begrenztes YAML
Erlaubt ist pro Eingabe ein YAML-1.2-core-Dokument mit einer Map und Zeichenfolgenschlüsseln. Doppelte oder komplexe Schlüssel, Direktiven, explizite Tags, Anker, Aliase und << werden abgewiesen. Mehrdeutige Wörter wie yes und on brauchen Anführungszeichen. Zahlen verwenden JSON-Dezimalschreibweise, endliche Werte und sichere Ganzzahlen; Unterlauf wird abgewiesen, Dezimalzahlen nutzen binary64.
null hängt von der Vorgabe ab
Ein null im Override entfernt einen gleichnamigen Standardschlüssel beim rekursiven Zusammenführen. Unter neuen Schlüsseln, in neuen Maps oder innerhalb ersetzter Listen bleibt null erhalten. Ein weggelassener Override erbt die Vorgabe. Dies ist keine allgemeine Bereinigung leerer Werte.
Maskierung ist keine Anonymisierung
Alle Skalare außer null werden durch typisierte Marker ersetzt, auch Zahlen und Wahrheitswerte. Schlüssel, Pfade, Struktur und null bleiben sichtbar. Eingabeeditor und Ersetzungsvorschau zeigen weiterhin Originaltext. Maskiertes YAML dient der Prüfung und ist keine einsatzfähige Konfiguration.
Begrenzte Ressourcen und Eingabequellen
Pro Eingabe: 200.000 Zeichen, 20.000 Knoten, Tiefe 60 und eine Million aufsummierte Pfadzeichen. Maximal 5.000 Änderungen, vier Millionen Berichtszeichen und fünf Sekunden Laufzeit; bei Überschreitung kein Teilexport. Mehrere -f-Dateien, --set, reuse/reset-values, URL-Import und Erhalt der Quellformatierung sind nicht vorgesehen.

Fragen zu Helm Values Diff

Wie sehe ich Änderungen vor helm upgrade?

Prüfen Sie hier die Wertebene und anschließend die gerenderten Manifeste mit helm diff oder Ihrem Release-Prozess. Gleiche Werte schließen Änderungen durch Templates, Chart-Versionen oder Cluster-Funktionen nicht aus.

Welche Werte gewinnen gegenüber der Standarddatei?

Die Umgebungs-Overrides haben Vorrang. Bei verschachtelten Maps werden nur fehlende Kinder aus den Vorgaben ergänzt. Pro Version gibt es eine Override-Eingabe; mehrere Dateien müssen Sie vorher in der tatsächlich verwendeten Reihenfolge zusammenstellen.

Warum werden Listen nicht elementweise zusammengeführt?

Helm ersetzt die gesamte Liste unter dem betreffenden Schlüssel. Es hängt nichts an und gleicht Objekte nicht anhand ihres Namens ab. Der anschließende Indexvergleich dient nur der Darstellung des Ergebnisses.

Wie entferne ich einen Standardschlüssel?

Setzen Sie ihn im Override auf null. Bloßes Weglassen stellt den Standard wieder her. Für einen in der Standard-Map unbekannten Schlüssel bleibt null bestehen; eine neue leere Angabe ist deshalb keine Löschung.

Kann ich eine Secret-Änderung ohne ihren Inhalt sehen?

Ja. Bei aktiver Maskierung bleiben die auf Originalwerten berechnete Änderung und der Typ erhalten. Auch gewöhnliche Werte werden verborgen. Prüfen Sie vor dem Teilen weiterhin die sichtbaren Schlüssel und Pfade.

Möchten Sie einen Konfigurationsfall melden?

Beide Konfigurationen prüfen

Mit Helm Values Diff trennen Sie die Änderung einer Deklaration von ihrer Wirkung und wählen die passende Ansicht für das Review.