Jedes Kapitel hat sein Lab, und der Anhang D auch. Dazu kommt ein Block, der nur als Lab existiert: die finale Challenge.
Kapitel 01
Einführung in Container und Orchestrierung
Image, Container, Controller und Node, erklärt, bevor Kubernetes überhaupt beim Namen genannt wird. Wie das Image gebaut wird, das im ganzen Buch ausgerollt wird: Multistage-Dockerfile, Distroless-Basis und ein Prozess, der nicht als root läuft. Und die echten Vor- und Nachteile von Containern, samt dem, was kompliziert wird, wenn du sie im großen Maßstab orchestrierst.
Sein Lab ist das Modul „Container“: Du baust das Image tienda/api und veröffentlichst es in der Registry.
- Kapitel im Buch
- Praxis-Lab
Kapitel 02
Kubernetes-Architektur
Der kube-apiserver und das kubelet, und die Hub-and-Spoke-Kommunikation: warum alles über den API-Server läuft und nur er mit etcd spricht. Die übrigen Komponenten kommen dort dran, wo sie wirklich gebraucht werden – kube-proxy im Netzwerk, der Scheduler im Scheduling – und alle zusammen, am Ende, im Anhang D.
Sein Lab ist das Modul „Der Cluster von innen“, auf einem echten kubeadm-Cluster, zusammen mit dem Anhang D.
- Kapitel im Buch
- Praxis-Lab
Kapitel 03
Mit dem Cluster sprechen
Warum kubectl nicht Kubernetes ist, sondern ein HTTP-Client gegen den API-Server, und wie du das mit --v siehst. Der leere Namespace tienda, der erste Pod web darin, in ihn hineinschauen, seine Logs lesen und ihn löschen. Es ist das Kapitel, in dem es noch egal ist, wenn du nicht ganz verstehst, was du ausrollst.
Teilt sich das Lab mit Kapitel 04, im Modul „Grundlagen“.
- Kapitel im Buch
- Praxis-Lab
Kapitel 04
Kubernetes-Objekte
Der erste Pod, Namespaces, Labels und Selektoren, und Annotations: wie das, was im Cluster lebt, benannt und gruppiert wird. Und warum die Liste der Typen, die ein Cluster versteht, nicht eingefroren ist – die Tür zum Kapitel Erweiterbarkeit.
Teilt sich das Lab mit Kapitel 03, im Modul „Grundlagen“.
- Kapitel im Buch
- Praxis-Lab
Kapitel 05
Workloads
Pods mit Probes, requests, limits und QoS. ReplicaSets, Deployments mit Rollout und Rollback, StatefulSets, DaemonSets, Jobs und CronJobs.
- Kapitel im Buch
- Praxis-Lab
Kapitel 06
Skalierung
Autoscaling von Nodes (Cluster Autoscaler und Karpenter) und von Pods: Horizontal Pod Autoscaler und Vertical Pod Autoscaler, was jeder misst und wann sie sich gegenseitig in die Quere kommen.
- Kapitel im Buch
- Praxis-Lab
Kapitel 07
Netzwerk
kube-proxy und die Regeln, die dafür sorgen, dass die IP eines Service bei einem Pod landet. Services und internes DNS mit CoreDNS, Ingress, Gateway API – der Ingress wird abgerissen und neu gebaut – und NetworkPolicy, um den Traffic auf Schicht 3 und 4 zu sperren.
- Kapitel im Buch
- Praxis-Lab
Kapitel 08
Konfiguration
ConfigMaps für das, was nicht vertraulich ist, und Secrets für das, was es ist, konsumiert als Umgebungsvariablen oder als Dateien, die im Pod gemountet werden. imagePullSecrets, um Images aus einer privaten Registry herunterzuladen, und die Downward API, damit der Pod weiß, wer er ist und wo er läuft.
- Kapitel im Buch
- Praxis-Lab
Kapitel 09
Storage
StorageClass, PersistentVolume und PersistentVolumeClaim mit CSI-Provisionern, wie ein Pod am Ende die Platte mountet, die er nicht verlieren darf, und VolumeSnapshot für die Backups.
- Kapitel im Buch
- Praxis-Lab
Kapitel 10
Sicherheit
Authentifizierung und Autorisierung gegenüber der API, RBAC und ServiceAccounts, die Admission-Kette, securityContext und die Pod Security Standards, die PSA pro Namespace durchsetzt. Und was der securityContext nicht schützt: die Supply Chain, mit SBOM und Signatur per cosign.
- Kapitel im Buch
- Praxis-Lab
Kapitel 11
Policies
ResourceQuota und LimitRange: das CPU- und Speicherbudget eines Namespace und die Standardwerte für jeden Container.
- Kapitel im Buch
- Praxis-Lab
Kapitel 12
Scheduling
Taints und Tolerations, nodeSelector, Affinitäten und nodeName; Priorität und Preemption, PodDisruptionBudgets und Dynamic Resource Allocation.
- Kapitel im Buch
- Praxis-Lab
Kapitel 13
Arbeiten mit dem Cluster
Kontexte und Namespaces, die Einstellungsdatei kuberc, vier Fallen, die immer wieder zuschnappen, was Kustomize bringt und was Helm bringt, GitOps mit Argo CD und Flux, und wo du hinschaust, wenn in der tienda, dem Beispielsystem des Buchs, etwas kaputtgeht. Die komplette Befehlsreferenz lebt im Anhang E.
- Kapitel im Buch
- Praxis-Lab
Kapitel 14
Erweiterbarkeit
Die CRD, die dem Cluster ein neues Wort beibringt – die Promocion der tienda – und der Operator, der dafür sorgt, dass es etwas bedeutet: die Kontrollschleife (reconciliation loop), was der status verrät und wann du keinen Operator schreiben solltest. Im Lab schreibst du ihn komplett, in Go und mit controller-runtime.
- Kapitel im Buch
- Praxis-Lab
Kapitel 15
Observability
Die Events des Clusters, Metriken, Logs und Traces – Prometheus, Loki, Grafana –, welches der vier du zuerst anschaust, und die aufkommende Observability mit eBPF.
- Kapitel im Buch
- Praxis-Lab
Anhang A
Abkürzungsglossar
Die 74 Abkürzungen, die im Buch vorkommen, in einer Tabelle gesammelt, um sie auf einen Blick nachzuschlagen. Vollständig veröffentlicht im Glossar der Website (auf Spanisch).
Anhang B
Das komplette System
Alles, was Kapitel für Kapitel gebaut wurde, zusammen und in der Reihenfolge, in der du sie anwendest: über sechshundert Zeilen YAML, die du nicht von einem Blatt Papier abtippst, sondern die im Code-Repository leben.
Anhang C
Seit wann welches Teil funktioniert
Kapitel für Kapitel, welche Funktionen das Buch datiert und seit welcher Version es sie gibt, damit du auf einen Blick prüfen kannst, ob das, was du liest, in deinem Cluster noch gilt. Alles bezogen auf Kubernetes 1.37.
Anhang D
Der Cluster von innen
Der Maschinenraum, am Ende und nicht am Anfang: etcd, der controller-manager, der cloud-controller-manager, wie Container wirklich ausgeführt werden – CRI, Runtimes und OCI – und die Leases. Es ist der einzige Anhang mit eigenem Lab, auf einem echten kubeadm-Cluster.
Anhang E
kubectl-Spickzettel
Die ganze Befehlsreferenz, sortiert nach dem, was du tun willst, und nicht nach Verb: sich orientieren, den Cluster anschauen, in einen Pod hineinschauen, von Hand ändern, mit Dateien ändern, Nodes und Wartung, Berechtigungen und Audit, und Helm.