In meinem vorherigen Artikel habe ich das Thema Checkpointing in Kubernetes vorgestellt und erläutert, wie es eingerichtet werden kann. Diesmal möchte ich Ihnen zeigen, wie Sie die erstellten Checkpoints analysieren können. Das Checkpointing ist derzeit noch eine Alpha-Funktion in Kubernetes, und dieser Artikel gibt einen Ausblick darauf, wie diese Funktion in Zukunft aussehen könnte.

Vorbereitung

Details zur Konfiguration von Kubernetes und der zugrunde liegenden CRI-Implementierung, um die Unterstützung für Checkpointing zu aktivieren, finden Sie in meinem vorherigen Artikel.

Als Beispiel habe ich ein Container-Image (quay.io/adrianreber/counter:blog) vorbereitet, das ich im Folgenden checkpointen und analysieren möchte. Mit diesem Container kann ich Dateien im Container erstellen und Informationen im Speicher speichern, die ich später im Checkpoint finden möchte.

Um diesen Container auszuführen, benötige ich ein Pod. Für dieses Beispiel verwende ich das folgende Pod-Manifest:

apiVersion: v1
kind: Pod
metadata:
  name: counters
spec:
  containers:
  - name: counter
    image: quay.io/adrianreber/counter:blog

Dies führt dazu, dass ein Container namens counter in einem Pod namens counters läuft.

Sobald der Container läuft, führe ich folgende Aktionen mit diesem Container aus:

console $ kubectl get pod counters –template ‘{{.status.podIP}}’ 10.88.0.25 $ curl 10.88.0.25:8088/create?test-file $ curl 10.88.0.25:8088/secret?RANDOM_1432_KEY $ curl 10.88.0.25:8088

Der erste Zugriff erstellt eine Datei namens test-file mit dem Inhalt test-file im Container, und der zweite Zugriff speichert meine geheimen Informationen (RANDOM_1432_KEY) irgendwo im Speicher des Containers. Der letzte Zugriff fügt einfach eine zusätzliche Zeile zur internen Protokolldatei hinzu.

Der letzte Schritt, bevor ich den Checkpoint analysieren kann, besteht darin, Kubernetes zu sagen, dass es den Checkpoint erstellen soll. Wie im vorherigen Artikel beschrieben, erfordert dies den Zugriff auf den checkpoint API-Endpunkt des kubelet.

Für einen Container namens counter in einem Pod namens counters in einem Namespace namens default ist der kubelet API-Endpunkt wie folgt erreichbar:

# Führen Sie dies auf dem Knoten aus, auf dem das Pod läuft
curl -X POST "https://localhost:10250/checkpoint/default/counters/counter"

Für die Vollständigkeit sind die folgenden curl-Befehlszeilenoptionen erforderlich, damit curl das selbstsignierte Zertifikat des kubelet akzeptiert und die Verwendung der kubelet checkpoint API autorisiert:

--insecure --cert /var/run/kubernetes/client-admin.crt --key /var/run/kubernetes/client-admin.key

Sobald das Checkpointing abgeschlossen ist, sollte der Checkpoint unter /var/lib/kubelet/checkpoints/checkpoint-<pod-name>_<namespace-name>-<container-name>-<timestamp>.tar verfügbar sein.

In den folgenden Schritten dieses Artikels verwende ich den Namen checkpoint.tar, wenn ich das Checkpoint-Archiv analysiere.


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 →



ayedo Redaktion · 08.06.2025 · ⏳ 3 Minuten

Neue Wege im KI-Management: Die Gateway API Inference Extension

Moderne generative KI- und große Sprachmodelle (LLMs) stellen Kubernetes vor einzigartige Herausforderungen im Datenverkehrsmanagement. Im Gegensatz zu typischen kurzlebigen, zustandslosen Webanfragen …

Lesen →

Neue Wege im KI-Management: Die Gateway API Inference Extension
ayedo Redaktion · 06.06.2025 · ⏳ 2 Minuten

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet

Einführung in die Verwaltung von Sidecar-Containern in Kubernetes In der Welt von Kubernetes sind Sidecar-Container nützliche Helfer, die Funktionen erweitern oder zusätzliche Aufgaben für die …

Lesen →

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet
ayedo Redaktion · 05.06.2025 · ⏳ 2 Minuten

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!

Wir freuen uns, die allgemeine Verfügbarkeit der Gateway API v1.3.0 bekanntzugeben! Diese Version wurde am 24. April 2025 veröffentlicht und bringt spannende neue Funktionen mit sich. Was ändert sich …

Lesen →

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Die vergessene Schwachstelle in euren CI/CD-Pipelines: Die Registry

Die vergessene Schwachstelle in euren CI/CD-Pipelines: Die Registry Jeder redet über Build-Pipelines, Deployment-Automatisierung, GitOps, Blue/Green-Rollouts, Canary Releases. Alles sauber …

Lesen →

Die vergessene Schwachstelle in euren CI/CD-Pipelines: Die Registry
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Application Performance sollte messbar sein — jederzeit, in Echtzeit

Wer Anwendungen produktiv betreibt, braucht keine schönen Dashboards, sondern harte Daten. Performance-Probleme entstehen nie dann, wenn Zeit für Debugging ist. Sie kommen genau dann, wenn Systeme …

Lesen →

Application Performance sollte messbar sein — jederzeit, in Echtzeit

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.