Workshop-Wiki · Deutsch und Englisch

18 Garbage Collection und Leases

Dieses Beispiel ist Teil des containerd-Workshops und folgt dem Format der Kubernetes-Beispiele: ein Haupt-README, Detaildokumentation auf Deutsch, Englisch und Griechisch sowie kleine prüfbare Artefakte.

Workshop-Beispiele als ZIP
Lernstand in der Web-App

Kapitel als gelesen markieren, Lesefortschritt sehen und Praxismodule abhaken: Diese Funktionen stehen nach Aktivierung der optionalen Web-App zur Verfügung. Der Workshop-Fortschritt ergibt sich automatisch aus den Kapiteln aller Dokumentseiten. Deine Auswahl bleibt auf diesem Gerät; es gibt kein Konto und keinen Serverabgleich. Eine Installation ist nicht erforderlich. Beim Widerruf in den Datenschutz-Einstellungen wird der Lernstand gelöscht.

Lesefortschritt0%
0%
0 / 11 Kapitel gelesen
Weitere SprachfassungGriechisch ↗

18 Garbage Collection und Leases

Dieses Beispiel ist Teil des containerd-Workshops und folgt dem Format der Kubernetes-Beispiele: ein Haupt-README, Detaildokumentation auf Deutsch, Englisch und Griechisch sowie kleine prüfbare Artefakte.

1. Ziel

Content, Snapshots, Images und Leases werden als GC-Entscheidungsmodell geprüft.

Das Beispiel ist als isoliertes Lab oder Modell aufgebaut. Es verändert keine produktive Runtime-Konfiguration und schreibt Laufzeitergebnisse ausschließlich nach work/.

01 / 11

2. Voraussetzungen

  • Linux, WSL, VM oder vergleichbare Testumgebung.
  • python3 für JSON/TOML/YAML-Validierung.
  • Optional containerd, ctr, runc, nerdctl und crictl für zusätzliche Evidence.
  • Keine produktiven Nodes, Registries, Credentials oder Pull Secrets verwenden.
02 / 11

3. Dateien

  • README.md
  • README-EL.md
  • docs/de/README.md
  • docs/en/README.md
  • docs/el/README.md
  • run.sh
  • commands/gc-review.sh
  • gc/lease-model.json
03 / 11

4. Ausführung

bash
cd examples/18-garbage-collection-leases
chmod +x run.sh
./run.sh
find work -maxdepth 3 -type f | sort
04 / 11

5. Erwartetes Ergebnis

  • run.sh endet mit Exit-Code 0.
  • TOML, JSON und YAML werden syntaktisch geprüft.
  • Shell-Skripte werden mit bash -n geprüft.
  • Wenn containerd lokal verfügbar ist, werden Version und optional ctr-Evidence gesammelt.
  • Alle Laufzeitartefakte entstehen unter work/.
05 / 11

6. Erklärung

containerd-Arbeit muss sauber zwischen mehreren Ebenen unterscheiden: Host, containerd-Daemon, API, Content Store, Snapshotter, Runtime, CRI, CNI und Kubernetes. Dieses Beispiel isoliert genau einen Ausschnitt davon und macht die Reviewfragen nachvollziehbar.

06 / 11

7. Typische Fehler

Fehler Ursache Diagnose
ctr zeigt keine Kubernetes-Images falscher containerd-Namespace ctr namespaces ls, ctr -n k8s.io images ls
Pull schlägt fehl Registry, TLS, Auth oder Mirror hosts.toml, Logs, Resolver prüfen
Pod startet nicht CRI, CNI, Snapshotter oder Runtime crictl, journalctl, Events prüfen
Config wirkt korrekt, wird aber ignoriert falsche Plugin-ID oder falscher Pfad containerd config dump, Version prüfen
Disk Pressure Content, Snapshots, Leases oder Logs ctr content ls, ctr snapshots ls, ctr leases ls
07 / 11

8. Sicherheitsaspekte

  • Keine produktiven Sockets, Registry-Credentials oder Cluster-Endpunkte in Labs eintragen.
  • Registry-TLS nicht mit skip_verify = true kaschieren, außer als klar markiertes Negativbeispiel.
  • Sandbox-Runtimes, Seccomp und AppArmor sind zusätzliche Kontrollen, kein Ersatz für sichere Images.
  • Runtime-Konfigurationsänderungen auf Kubernetes-Nodes brauchen Drain, Rollback und Abnahme.
08 / 11

9. Review und Evidence

Eine vollständige Abgabe enthält mindestens:

text
work/evidence/
  tooling.txt
  result.txt
  config-review.txt
  risk-note.md
  cleanup.md

Nicht jede Datei entsteht in jedem Beispiel. Entscheidend ist, dass die Evidence zum Lernziel passt und keine Geheimnisse enthält.

09 / 11

10. Erweiterungsmöglichkeiten

  • Beispiel mit echter Test-Registry erweitern.
  • CRI-Ausgaben aus einem Lab-Node ergänzen.
  • RuntimeClass-Variante für Kata oder gVisor hinzufügen.
  • Image-Verifikation mit Cosign oder Notation als separates Lab ergänzen.
  • Evidence in CI gegen TOML/JSON/YAML validieren.

10 / 11

Beispielanhang: Evidence, Betrieb und Transfer

Dieser Zusatzteil macht das Beispiel als Trainingsbaustein vollständig. Er beschreibt, wie aus einem lokalen Modell eine belastbare Runtime-Analyse entsteht, ohne produktive Nodes oder Zugangsdaten zu berühren.

B.1 Scope bestimmen

Scope bestimmen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.2 Artefakte validieren

Artefakte validieren ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.3 Runtime-Schicht benennen

Runtime-Schicht benennen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.4 Kubernetes-Bezug prüfen

Kubernetes-Bezug prüfen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.5 Security-Grenzen festhalten

Security-Grenzen festhalten ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.6 Rollback formulieren

Rollback formulieren ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.7 Evidence bereinigen

Evidence bereinigen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.8 Transfer begrenzen

Transfer begrenzen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.9 Review abschließen

Review abschließen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.10 Cleanup durchführen

Cleanup durchführen ist für dieses Beispiel notwendig, weil containerd-Labs sonst leicht von einem sicheren Modell zu einer unkontrollierten Node-Änderung werden. Die Bewertung muss klar sagen, ob ein Artefakt nur erklärt, lokal prüft oder auf einem echten Node angewendet würde.

Frage Erwartung
Was ist betroffen? Host, Daemon, Plugin, Content, Snapshotter, Runtime, CRI, CNI oder Kubernetes ist genannt.
Was ist belegt? Eine Datei oder Ausgabe unter work/evidence/ zeigt den Befund.
Was bleibt offen? Voraussetzungen für echte Nodes sind als Grenze dokumentiert.

Reviewpunkte:

  • keine produktiven Secrets
  • keine ungeprüften Socket- oder Systemd-Änderungen
  • keine Registry-Ausnahmen ohne Begründung
  • keine Verwechslung von ctr, crictl und nerdctl
  • Cleanup durch Entfernen von work/ möglich

B.11 Abschluss

Ein Beispiel gilt als fertig, wenn das Skript erfolgreich läuft, alle Modellartefakte syntaktisch gültig sind, die betroffene Runtime-Schicht benannt ist und die Evidence keine vertraulichen Daten enthält.

11 / 11

CTR · Orthevs Academy

31 Module als durchgängiger Lernpfad.

Die Reihenfolge bleibt unverändert: von der Laborgrundstruktur über fachliche Grundlagen und Betriebsmodelle bis zum abschließenden Troubleshooting. Die technischen Verzeichnisnamen werden bewusst beibehalten.

Orthevs – Engineering als Grundlage für das, was als Nächstes kommt.

Orthevs als App

Orthevs installieren

Die Orthevs Web-App kann auf unterstützten Mobilgeräten und Desktop-Browsern installiert werden.

iPhone und iPad

Öffnen Sie Orthevs in Safari. Tippen Sie auf Teilen, dann auf ‚Zum Home-Bildschirm‘. Aktivieren Sie gegebenenfalls ‚Als Web-App öffnen‘ und tippen Sie auf ‚Hinzufügen‘.

Android

Für die Web-App öffnen Sie das Browsermenü und wählen ‚App installieren‘ oder ‚Zum Startbildschirm hinzufügen‘. Bestätigen Sie die Installation.

Desktop-Browser

Öffnen Sie das Browsermenü oder das Installationssymbol in der Adressleiste und wählen Sie ‚App installieren‘ beziehungsweise ‚Zum Dock hinzufügen‘.

Die Web-App-Installation hängt vom Browser ab. Falls kein Installationsdialog erscheint, nutzen Sie die angezeigten Schritte im Browser.