Die Working Group für strukturiertes Logging hat in Kubernetes 1.24 neue Funktionen zur Protokollierungsinfrastruktur hinzugefügt. In diesem Artikel erfahren Sie, wie Entwickler diese nutzen können, um die Protokollausgaben nützlicher zu gestalten, und wie sie sich aktiv an der Verbesserung von Kubernetes beteiligen können.

Strukturiertes Logging

Das Ziel des strukturierten Loggings besteht darin, die C-artige Formatierung und die daraus resultierenden undurchsichtigen Log-Strings durch Protokolleinträge zu ersetzen, die eine klar definierte Syntax für die separate Speicherung von Nachrichten und Parametern haben, zum Beispiel als JSON-Struktur.

Bei der Verwendung des traditionellen klog-Textausgabeformats für strukturierte Log-Aufrufe wurden Strings ursprünglich mit \n Escape-Sequenzen ausgegeben, es sei denn, sie waren in einer Struktur eingebettet. Für Strukturen konnten Protokolleinträge weiterhin mehrere Zeilen umfassen, mit keiner sauberen Möglichkeit, den Log-Stream in einzelne Einträge zu unterteilen:

I1112 14:06:35.783529 328441 structured_logging.go:51] “using InfoS” longData={Name:long Data:Multiple lines with quite a bit of text. internal:0} I1112 14:06:35.783549 328441 structured_logging.go:52] “using InfoS with\nthe message across multiple lines” int=1 stringData=“long: Multiple\nlines\nwith quite a bit\nof text.” str=“another value”

Jetzt werden die < und > Marker zusammen mit der Einrückung verwendet, um sicherzustellen, dass das Splitting an einem klog-Header am Anfang einer Zeile zuverlässig ist und die resultierende Ausgabe menschenlesbar ist:

I1126 10:31:50.378204 121736 structured_logging.go:59] “using InfoS” longData=< {Name:long Data:Multiple lines with quite a bit of text. internal:0}

I1126 10:31:50.378228 121736 structured_logging.go:60] “using InfoS with\nthe message across multiple lines” int=1 stringData=< long: Multiple lines with quite a bit of text.

str=“another value”

Beachten Sie, dass die Log-Nachricht selbst mit Anführungszeichen ausgegeben wird. Sie soll eine feste Zeichenkette sein, die einen Protokolleintrag identifiziert, daher sollten dort Zeilenumbrüche vermieden werden.

Vor Kubernetes 1.24 verwendeten einige Log-Aufrufe im kube-scheduler weiterhin klog.Info für mehrzeilige Strings, um die unleserliche Ausgabe zu vermeiden. Nun wurden alle Log-Aufrufe aktualisiert, um strukturiertes Logging zu unterstützen.

Die neuen Funktionen des strukturierten Loggings in Kubernetes 1.24 bieten Entwicklern und DevOps-Teams die Möglichkeit, die Qualität ihrer Protokolle erheblich zu verbessern. Nutzen Sie diese Änderungen, um Ihre Anwendungen besser zu überwachen und Probleme schneller zu identifizieren. ayedo unterstützt Sie gerne als Partner bei der Implementierung von Kubernetes-Lösungen!


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



Fabian Peter · 17.08.2025 · ⏳ 4 Minuten

K3s on Flatcar via Ansible & vSphere: automatisiertes K8s für regulierte Umgebungen

Lesen →

K3s on Flatcar via Ansible & vSphere: automatisiertes K8s für regulierte Umgebungen
Fabian Peter · 17.08.2025 · ⏳ 9 Minuten

k3k: agent-less k3s in Kubernetes

Lesen →

k3k: agent-less k3s in Kubernetes
Fabian Peter · 17.08.2025 · ⏳ 18 Minuten

Developer Platforms von ayedo: Maßgeschneidert, flexibel und zukunftsgerichtet

Lesen →

Developer Platforms von ayedo: Maßgeschneidert, flexibel und zukunftsgerichtet
Fabian Peter · 17.08.2025 · ⏳ 13 Minuten

GPUs in Kubernetes: Praxisleitfaden für H100, MIG & Time‑Slicing

Lesen →

GPUs in Kubernetes: Praxisleitfaden für H100, MIG & Time‑Slicing
Fabian Peter · 06.08.2025 · ⏳ 3 Minuten

Warum Helm der Standard für Kubernetes Apps ist

Lesen →

Warum Helm der Standard für Kubernetes Apps ist

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.