Training
Ich gebe zwei Live-Online-Kurse. Beide laufen über zwei Wochen in vier Sitzungen, mit höchstens zehn Teilnehmenden pro Kohorte, einer Checkliste zum Selbstbearbeiten vor der ersten Sitzung und einem Chat-Kanal für die zwei Wochen. Jede Sitzung endet mit etwas, das du gebaut hast, und einer Prüfung, die zeigt, dass es funktioniert. Die Sprache einer Kohorte ist Deutsch oder Englisch; die Unterlagen sind auf Englisch.
Auf dieser Seite steht kein Termin. Eine Kohorte wird den Leuten angekündigt, die danach gefragt haben, sobald die öffentlichen Artefakte, auf denen sie aufbaut, veröffentlicht sind und ein Probelauf bestanden ist. Wenn du es als Erster erfahren willst, schreib mir mit dem Kurs, den du meinst, und einer Zeile dazu, was du heute betreibst.
Dein eigenes Managed Kubernetes auf Hetzner
Abschnitt betitelt „Dein eigenes Managed Kubernetes auf Hetzner“Bei AWS klickst du auf „Cluster erstellen“, und jemand anderes betreibt die Control Plane für dich, gegen Gebühr, für immer. In diesem Kurs baust du dir das selbst, auf Hetzner, mit Gardener, dem Open-Source-Projekt, auf dem SAP seine Cluster betreibt. In der zweiten Sitzung tippst du einen Befehl in dein eigenes Hetzner-Projekt, und etwa 40 Minuten später hast du eine Landschaft, die Cluster ausgibt. Dann erstellst du einen, aktualisierst ihn, sicherst ihn, versetzt ihn in den Ruhezustand, löschst ihn und erstellst einen neuen.
Für wen der Kurs ist
Abschnitt betitelt „Für wen der Kurs ist“Hetzner-Kunden, die mehr als einen Kubernetes-Cluster betreiben oder betreiben werden, für mehr als ein Team oder einen Kunden, und eine Control Plane wollen, die ihnen gehört. Agenturen und kleine Hoster mit einem Stack pro Kunde. Plattform-Teams von zwei bis fünf Leuten, die Entwicklern Umgebungen bereitstellen. Leute, die k3s für mehrere Teams von Hand betreiben und wissen, wo es weh tut: ungetestete etcd-Backups, ablaufende Zertifikate, Upgrades, die ein Wochenende brauchen. Forschungsgruppen mit einer Warteschlange von Leuten, die einen Cluster für einen Monat wollen. Alle mit einem dedizierten Hetzner-Server, der Cluster erzeugen soll, statt ein weiterer Server zu sein, um den man sich kümmern muss.
Für wen der Kurs nicht ist
Abschnitt betitelt „Für wen der Kurs nicht ist“Eine Anwendung auf einem Server. Wenn Docker Compose oder ein einzelnes k3s für dich die richtige Antwort ist, sagt der Kurs das in der ersten Sitzung, und diese Seite sagt es, bevor du bezahlst. Gardener hat einen Sockel: allein sein eigenes Monitoring braucht etwa 8 GiB, die kleinste Landschaft ist also ein 32-GB-Server für etwa 130 € netto im Monat zum Hetzner-Listenpreis, oder ein dedizierter 64-GB-Server aus der Serverbörse für etwa die Hälfte. Das sollte niemand für eine einzelne Anwendung bezahlen. Der Kurs ist auch kein Kubernetes-Grundkurs und kein Prüfungskurs: kubectl schon einmal gegen irgendeinen Cluster benutzt zu haben ist Voraussetzung, nicht Inhalt.
Was du mitbringst
Abschnitt betitelt „Was du mitbringst“- Ein Hetzner-Cloud-Projekt mit einem API-Token mit Schreibrechten.
- Eine Domain, etwa 10 € im Jahr, mit ihrer Zone in Hetzner DNS.
- Einen Laptop mit macOS, Linux oder WSL2.
- Erfahrung mit
kubectlgegen irgendeinen Cluster.
Die Landschaft bezahlst du selbst an Hetzner, über dein eigenes Konto. Ein 32-GB-Cloud-Server kostet etwa 0,21 € pro Stunde, die zwei Wochen also zwischen 50 € und 150 €, oder nichts, wenn du die Landschaft nach jeder Sitzung abbaust und vor der nächsten in 40 Minuten neu aufbaust.
Lehrplan
Abschnitt betitelt „Lehrplan“| Format | Inhalt | |
|---|---|---|
| Woche 0 | selbstständig, etwa 1 h | CLI installieren, die Vorprüfung gegen dein Projekt laufen lassen, die Ausgabe posten. Ein echtes Übungsprotokoll lesen und drei Fragen dazu beantworten. |
| Sitzung 1 | überwiegend Demo | Was Kubernetes dir gibt und was es kostet. Was Gardener hinzufügt: eine Control Plane für Cluster. Der Sockel, in Zahlen, und wann Compose die richtige Antwort ist. |
| Sitzung 2 | praktisch | Dein eigener Gardener. paasbox garden up in deinem Projekt. Was in deinem Projekt erschienen ist und warum. Die letzte Stunde: paasbox garden shoot create, ein Kubernetes-Cluster aus einer Control Plane, die du 90 Minuten vorher aufgebaut hast. |
| Sitzung 3 | praktisch | Tag zwei. Den Cluster im Wartungsfenster aktualisieren. Sichern und wiederherstellen. In den Ruhezustand versetzen und aufwecken. Löschen und einen neuen erstellen, je mit einem Befehl. Das Runbook für Tag zwei: status, restore, upgrade, teardown. |
| Sitzung 4 | Vortrag, eine Demo, Fragen | Was es auf einem Cloud-Server kostet und was auf einem dedizierten. Was der Betrieb verlangt. Was noch nicht gebaut ist. Wann man es ganz lassen sollte. |
Womit du gehst
Abschnitt betitelt „Womit du gehst“Eine laufende Gardener-Landschaft in deinem Projekt, oder eine abgebaute, wenn dir das lieber ist. Das CLI und eine Werte-Datei, die sie neu erzeugt. Ein GitOps-Repository dafür. Ein Cluster, den du aus deiner eigenen Control Plane erstellt, aktualisiert, in den Ruhezustand versetzt, wiederhergestellt und gelöscht hast. Das Runbook für Tag zwei. Eine Kostenaufstellung Cloud gegen dediziert. Eine klare Antwort darauf, ob du das überhaupt betreiben solltest.
890 € netto pro Platz, 1.059 € inklusive 19 % USt. Die erste Kohorte läuft als bezahlte Beta für 690 € netto.
Agentic DevOps
Abschnitt betitelt „Agentic DevOps“Dieses Projekt wird von einer Person mit Coding-Agenten gebaut, und das meiste davon hat nie ein Mensch Zeile für Zeile gelesen. Die Frage ist, wie man dem trauen kann, und die Antwort ist weder „die Spezifikation“ noch „Kubernetes“. Es sind vier Artefakte, die in fester Reihenfolge entstehen, mit einer Regel dazu, was jedes behaupten darf:
| Artefakt | Was es ist | Was jemand prüfen kann, der den Code nicht liest |
|---|---|---|
| Die Spezifikation | ein nummeriertes Designdokument mit datierten Entscheidungen | dass die Entscheidungen vor dem Code getroffen wurden, und von wem |
| Die Attrappe | eine zustandsbehaftete Nachbildung des gesamten Untergrunds, gegen die der echte Code läuft, mit einer ausführbaren Invariante pro Lektion, jede als Satz geschrieben, der den Vorfall dahinter nennt | die Meldungen der Invarianten, eine Stunde Lesen statt Tausender Zeilen Code |
| Die Übung | ein bezahlter Lauf auf echter Hardware, der die Attrappe widerlegen kann | dass er gelaufen ist, wann, zu welchen Kosten, und was er widerlegt hat |
| Das Protokoll | ein Bericht pro bezahltem Lauf: was gemessen wurde, was kaputtging, was der Code vorher nicht abgebildet hat | die Liste der Defekte und die Commits, die jeden geschlossen haben |
Die Lektion jedes Protokolls wird zurück in die Attrappe geschrieben. Die Attrappe läuft bei jedem Push und kostet nichts. Die Übung läuft, wenn ein Mensch entscheidet, Geld auszugeben, und sie ist der einzige Schritt, in dem die Wirklichkeit widersprechen kann. In diesem Kurs baust du jedes der vier Artefakte für dein eigenes Projekt.
Für wen der Kurs ist
Abschnitt betitelt „Für wen der Kurs ist“Engineers und Engineering-Leads, die bereits Infrastruktur verantworten, angefangen haben, Coding-Agenten darauf einzusetzen, und gefragt werden, ob man dem trauen kann, was der Agent gebaut hat. Du hast ein CI-System, ein Cloud-Konto, etwas Deklaratives wie Kubernetes, Flux, Terraform oder Ansible, und mindestens einen Vorfall hinter dir.
Für wen der Kurs nicht ist
Abschnitt betitelt „Für wen der Kurs nicht ist“Anfänger in Kubernetes oder mit Agenten; beides ist Voraussetzung. Teams ohne ein Cloud-Projekt, das man wegwerfen kann, weil die Hälfte der Methode eines braucht. Alle, die ein Zertifikat wollen.
Was du mitbringst
Abschnitt betitelt „Was du mitbringst“- Erfahrung mit
kubectlund einer CI-Pipeline. - Ein Abonnement für einen Coding-Agenten, der im Terminal läuft, etwa Claude Code.
- Genug Python, um einen Test zu lesen; die Attrappe ist Python.
- Ein frisches Cloud-Projekt, in dem sonst nichts liegt. Hetzner ist empfohlen; ein kleiner Server kostet Cent pro Stunde, die zwei Wochen etwa 5 € bis 15 €.
- macOS, Linux oder WSL2.
Lehrplan
Abschnitt betitelt „Lehrplan“Jede Sitzung endet mit etwas, das du gebaut hast, und einem Gate, das es bewiesen hat. Du arbeitest in deinem eigenen Fork eines kleinen Kits, das für den Kurs gebaut wurde: ein Bootstrap von einigen hundert Zeilen mit fünf Stufen, eine Attrappe mit einem Dutzend Invarianten und einem absichtlichen blinden Fleck, ein Render-Gate, eine CI-Datei, eine Stolperdraht-Prüfung, ein Übungsskript und eine Protokollvorlage.
| Inhalt | Womit du die Sitzung verlässt | |
|---|---|---|
| Woche 0 | Das Kit forken, die Attrappe laufen lassen, ein echtes Übungsprotokoll lesen, das Wegwerf-Projekt anlegen, die Vorprüfung dagegen laufen lassen. | Eine grüne Attrappe und ein Projekt, an dem sich die Stolperdraht-Lektion lehren lässt. |
| Sitzung 1 | Die Schleife und die Attrappe. Das Zustandsmodell der Attrappe für die fünf Stufen des Kits bauen, der Agent steuert, du spezifizierst. Drei Invarianten aus einer vorgegebenen Vorfallsliste kodieren. | Eine Attrappe, die bei echten Reihenfolgefehlern fehlschlägt und bei der Korrektur besteht. |
| Sitzung 2 | Gates, die nichts kosten. Ein Render-Gate, das eine undefinierte Variable, einen nicht ersetzten Platzhalter und einen Secret-Wert, der kein String ist, ablehnt. Drei Negativtests in der CI, jeder zuerst rot gesehen, dann grün. Eine Stolperdraht-Prüfung, getestet gegen einen echten falschen Token. | Eine CI, die beweist, dass drei Ablehnungen greifen. |
| Sitzung 3 | Die Übung und das Protokoll. Den Übungsplan und seine erwarteten Kosten schreiben. Ihn laufen lassen, erst gegen die Attrappe, dann bezahlt, in deinem Wegwerf-Projekt; der blinde Fleck schlägt zu. Das Protokoll schreiben, einen Commit pro Ursache, und den blinden Fleck zurück in die Attrappe schreiben. | Eine bezahlte Übung, die du gefahren hast, ihr Protokoll, und ein leeres Projekt. |
| Sitzung 4 | Agenten in der Schleife. Eine Anweisungsdatei für dein eigenes Projekt, an die sich eine frische Agenten-Sitzung hält, mit den Stolperdrähten beim Namen. Eine ereignisgesteuerte Routine, in deine eigene CI eingebaut. Eine Definition-of-Done-Tabelle für deine Änderungsklassen. | Einen Vertrag für den Agenten, einen funktionierenden Auslöser, eine Definition of Done. |
Die letzte halbe Stunde ist das Argument gegen die ganze Methode, von dir gegen mich vorgebracht, und die ehrliche Antwort darauf.
1.290 € netto pro Platz, 1.535 € inklusive USt. Die erste Kohorte läuft als bezahlte Beta für 990 € netto.
Team-Ausgabe: dieselben vier Sitzungen auf zwei Tage verdichtet, privat, für vier bis acht Leute, wobei Sitzung drei und vier auf eurem eigenen Repository und eurer eigenen Vorfallsliste laufen. 8.900 € netto, plus ein halbtägiges Vorbereitungsgespräch.
Wie die beiden Kurse zusammenhängen
Abschnitt betitelt „Wie die beiden Kurse zusammenhängen“Der erste Kurs lehrt ein Produkt: eine Gardener-Landschaft auf Hetzner. Der zweite lehrt eine Methode und benutzt die Repositories dieses Projekts als Anschauungsobjekt. Wer seine Landschaft aus dem ersten Kurs behalten hat und sie jetzt mit Agenten weiterentwickeln will, passt in den zweiten.
Einen Platz anfragen
Abschnitt betitelt „Einen Platz anfragen“Schreib mir mit dem Kurs, ob du Deutsch oder Englisch bevorzugst, und was dich am besten beschreibt: Agentur, Plattform-Team, k3s von Hand, oder neugierig. Du hörst von mir, wenn eine Kohorte bestätigt ist, und nicht vorher.