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 →



Fabian Peter · 02.09.2025 · ⏳ 5 Minuten

Storage in Kubernetes

Lesen →

Storage in Kubernetes
Fabian Peter · 31.08.2025 · ⏳ 4 Minuten

Kyverno vs. OPA – Richtlinienkontrolle für Kubernetes in regulierten Umgebungen

Lesen →

Kyverno vs. OPA – Richtlinienkontrolle für Kubernetes in regulierten Umgebungen
Fabian Peter · 31.08.2025 · ⏳ 6 Minuten

Spotify Backstage – Potenziale und Herausforderungen interner Developer-Plattformen

Lesen →

Spotify Backstage – Potenziale und Herausforderungen interner Developer-Plattformen
Fabian Peter · 31.08.2025 · ⏳ 7 Minuten

Souveräne Alternativen zu Hyperscalern – muss es immer eine andere "Cloud" sein?

Lesen →

Souveräne Alternativen zu Hyperscalern – muss es immer eine andere "Cloud" sein?
Katrin Peter · 29.08.2025 · ⏳ 3 Minuten

Kubernetes v1.34: Präzision, Sicherheit und Reife

Lesen →

Kubernetes v1.34: Präzision, Sicherheit und Reife

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.