Kubernetes im Heimlabor

Kubernetes im Heimlabor

Ein eigenes Cluster aufbauen — von Hello World bis GitOps. Zum Nachbauen mit alter Hardware oder virtuellen Maschinen.

0 von 34 Folgen veröffentlicht

Kubernetes von Grund auf — zum Mitmachen, nicht zum Zuschauen.

Kein Managed-Cluster, kein k3s: echtes Kubernetes mit kubeadm, aufgebaut von der leeren Festplatte bis zu GitOps mit Argo CD. Jeder Schritt erklärt, jeder Befehl zum Kopieren, jede Folge mit einer Übungsaufgabe.

Du brauchst dafür kein besonderes Gerät. Drei bis vier Rechner mit je 2 CPU-Kernen und 4 GB RAM reichen — ausrangierte Bürorechner, Mini-PCs oder schlicht virtuelle Maschinen auf einem Laptop. Die Befehle sind überall dieselben.

Ich lerne das gerade selbst und nehme jeden Schritt auf, auch die Umwege. Wie mein eigener Aufbau aussieht, steht auf der Laborseite — nachbauen musst du ihn nicht.

Modul 1 Grundlagen

Was Kubernetes ist, welche Hardware du brauchst und wie die Teile zusammenspielen.

  1. 01 Warum Kubernetes — und wann es sich wirklich lohnt Was Kubernetes wirklich löst, wann es sich lohnt — und was du zum Mitmachen brauchst. in Arbeit
  2. 02 Container-Auffrischung: was du aus Docker mitbringst Image, Container, Registry, Volume — die Begriffe, auf denen alles Weitere steht. in Arbeit
  3. 03 Die Landkarte: Control Plane, Worker, etcd, kubelet Welches Teil im Cluster welche Aufgabe hat — bevor wir irgendetwas installieren. in Arbeit
  4. 04 Die Hardware: was du wirklich brauchst Mindestanforderungen, Netzplan und die Alternative in virtuellen Maschinen — mein Aufbau ist nur ein Beispiel. in Arbeit

Modul 2 Das Cluster entsteht

Vom nackten Linux zum laufenden Cluster: kubeadm, Worker, Netzwerk.

  1. 05 Linux vorbereiten: swap aus, containerd, sysctl Die Arbeit vor kubeadm — hier scheitern die meisten ersten Versuche. in Arbeit
  2. 06 kubeadm init — das Cluster entsteht Ein Befehl, viele Zahnräder: was kubeadm anlegt und was die Ausgabe bedeutet. in Arbeit
  3. 07 Worker beitreten: kubeadm join und der Token Die drei Dell-Rechner treten dem Cluster bei — und was passiert, wenn der Token abläuft. in Arbeit
  4. 08 Ohne CNI kein Netz: Cilium einrichten Warum die Nodes „NotReady" bleiben und was ein Netzwerk-Plugin überhaupt tut. in Arbeit
  5. 09 kubectl: die zehn Befehle für jeden Tag Das Werkzeug, das du ab jetzt hundertmal am Tag benutzt — inklusive der Abkürzungen. in Arbeit

Modul 3 Erste Arbeitslasten

Pod, Deployment, Service, Ingress — der tägliche Werkzeugkasten, plus alles, was kein Deployment ist.

  1. 10 Hello World: dein erster Pod Ein Container läuft im Cluster — und was dabei hinter den Kulissen passiert. in Arbeit
  2. 11 Deployments: Rollout, Rollback, ReplicaSet Warum niemand einzelne Pods anlegt und wie ein Update ohne Ausfall abläuft. in Arbeit
  3. 12 Services: wie Pods sich finden Pod-IPs ändern sich ständig. Der Service ist die stabile Adresse davor. in Arbeit
  4. 13 MetalLB: echte LoadBalancer-IPs im eigenen Netz Warum ein Service vom Typ LoadBalancer im Heimlabor ewig auf „pending“ steht — und wie man das löst. in Arbeit
  5. 14 Ingress: eine Domain zeigt ins Cluster Von außen hinein: Ingress-Controller, Regeln und TLS. in Arbeit
  6. 15 ConfigMaps und Secrets Konfiguration raus aus dem Image — und warum ein Secret kein Tresor ist. in Arbeit
  7. 16 Namespaces, Labels, Selektoren — Ordnung im Cluster Wie du 200 Objekte auseinanderhältst, ohne den Überblick zu verlieren. in Arbeit
  8. 17 DaemonSets, Jobs und CronJobs Alles, was kein Deployment ist: auf jedem Node einmal, einmalig, oder nach Zeitplan. in Arbeit

Modul 4 Betrieb

Was zwischen „läuft“ und „läuft zuverlässig“ liegt: Probes, Limits, Storage, Monitoring, Sicherheit.

  1. 18 Probes: liveness, readiness, startup Woher weiß Kubernetes, ob deine Anwendung wirklich läuft? Du musst es ihm sagen. in Arbeit
  2. 19 Requests und Limits: was bei zu wenig RAM passiert Der Unterschied zwischen „reserviert" und „Obergrenze" — und der OOM-Kill live. in Arbeit
  3. 20 Scheduling: nodeSelector, Taints, Affinity Pods gezielt platzieren — und warum auf der Control Plane nichts landet. in Arbeit
  4. 21 Storage: PV, PVC und StorageClass Daten, die einen Pod überleben — im Heimlabor mit local-path und NFS. in Arbeit
  5. 22 StatefulSets: eine Datenbank im Cluster Wenn Pods Namen, Reihenfolge und eigenen Speicher brauchen. in Arbeit
  6. 23 Fehlersuche: logs, describe, events, exec Der Ablauf, mit dem du jeden kaputten Pod in fünf Minuten einkreist. in Arbeit
  7. 24 Monitoring: Prometheus und Grafana im Cluster Zahlen statt Bauchgefühl — und das Dashboard, auf dem der Stromstecker-Test sichtbar wird. in Arbeit
  8. 25 Autoscaling: HPA und der metrics-server Mehr Pods bei Last — und warum das ohne metrics-server gar nicht erst anläuft. in Arbeit
  9. 26 TLS im Cluster: cert-manager und eigene Zertifikate HTTPS ohne Handarbeit — im Labor mit eigener CA, draußen mit Let's Encrypt. in Arbeit
  10. 27 NetworkPolicies: nicht jeder darf mit jedem reden Standardmäßig kann jeder Pod jeden erreichen. Das ändern wir — mit Cilium sichtbar gemacht. in Arbeit

Modul 5 Realität

Ausfall, Sicherung, Upgrade, Rechte, Helm, GitOps — und am Ende läuft diese Seite selbst auf dem Cluster.

  1. 28 Der Stecker-Test: ein Node fällt aus Ich ziehe im laufenden Betrieb den Stromstecker — und wir sehen zu, was passiert. in Arbeit
  2. 29 etcd sichern und wiederherstellen Das Gedächtnis des Clusters: Schnappschuss machen, Cluster zerstören, zurückholen. in Arbeit
  3. 30 Kubernetes aktualisieren: kubeadm upgrade ohne Ausfall Von 1.31 auf 1.32 — Control Plane zuerst, dann Node für Node, mit drain und uncordon. in Arbeit
  4. 31 RBAC: die Website darf das Cluster lesen ServiceAccount, Role, Binding — am echten Beispiel: mein FastAPI-Backend. in Arbeit
  5. 32 Helm: Pakete statt YAML-Wüste Vorlagen, Werte, Releases — und wann Helm mehr schadet als nützt. in Arbeit
  6. 33 Argo CD: Git-Push statt kubectl apply GitOps in echt: das Repository ist die Wahrheit, das Cluster zieht nach. in Arbeit
  7. 34 Finale: diese Website läuft auf dem Cluster Alles zusammen — und am Ende ziehe ich noch einmal den Stecker, live auf der Seite. in Arbeit