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 · 06.07.2025 · ⏳ 2 Minuten

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods

Kubernetes ist der De-facto-Standard für die Container-Orchestrierung, aber wenn es um den Umgang mit spezialisierter Hardware wie GPUs und anderen Beschleunigern geht, wird es kompliziert. In diesem …

Lesen →

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods
Katrin Peter · 03.07.2025 · ⏳ 2 Minuten

Produkt-Update bei Loopback:

Lesen →

Produkt-Update bei Loopback:
Katrin Peter · 03.07.2025 · ⏳ 3 Minuten

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland

Lesen →

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland
ayedo Redaktion · 28.06.2025 · ⏳ 3 Minuten

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen

In Branchen, in denen Systeme äußerst zuverlässig laufen müssen und strenge Leistungsanforderungen bestehen, wie beispielsweise in der Telekommunikation, Hochleistungs- oder KI-Computing, benötigen …

Lesen →

Kompatibilität von Container-Images: Ein Schlüssel zur Zuverlässigkeit in Cloud-Umgebungen
Katrin Peter · 17.06.2025 · ⏳ 3 Minuten

Kubernetes kann Freiheit - wenn man es richtig macht.

Lesen →

Kubernetes kann Freiheit - wenn man es richtig macht.

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.