Kubernetes ist die Grundlage moderner IT-Infrastrukturen und ein unverzichtbares Werkzeug für das schnelle und agile Deployment von Anwendungen. Jedoch: Die Lernkurve ist steil, die Architektur und das Zusammenspiel der zahlreichen Komponenten muss gut verstanden sein, damit kein Chaos entsteht.
In diesem Praxisbuch finden Sie eine gründliche Einführung in die Konzepte und Ideen containeriserter Umgebungen. Sie lernen die vielen Bestandteile einer Kubernetes-Installation kennen und erfahren praxisnah, wie Anwendungen deployt werden.
Aus dem Inhalt:
- Grundlagen und Konzepte
- Pod- und Container-Management
- Ressourcen as Code
- Skalierung und Loadbalancing
- Storage
- Netzwerke und Sicherheit
- Monitoring und Fehlersuche
- Anwendungen für Kubernetes entwickeln
- Über den Tellerrand: Operatoren, Backups, Istio, Kvyerno, Kustomize
- Paketmanagement mit Helm
Inhaltsverzeichnis
1. Vorwort . . . 11 1. 1 . . . Gliederung . . . 13 1. 2 . . . Materialien zum Buch . . . 18 2. Einführung in Kubernetes . . . 19 2. 1 . . . Grundlagen und Konzepte: Warum überhaupt Container-Cluster? . . . 20 2. 2 . . . Kubernetes, das Tool der Wahl . . . 34 2. 3 . . . Architektur und Komponenten . . . 46 2. 4 . . . Ein Kubernetes-Cluster auf Ihrem Computer . . . 55 2. 5 . . . Interaktion mit Kubernetes über die Befehlszeile und das Dashboard . . . 64 2. 6 . . . Lens: Die IDE für Kubernetes . . . 85 2. 7 . . . Das Kubernetes-Cluster aus Raspberry Pis . . . 94 3. Grundlegende Objekte und Konzepte in Kubernetes . . . 101 3. 1 . . . Pod- und Container-Management . . . 104 3. 2 . . . Annotations und Labels . . . 126 3. 3 . . . Deployments und ReplicaSets . . . 147 3. 4 . . . ConfigMaps und Secrets . . . 163 3. 5 . . . Kommunikation mit Services und Ingress etablieren . . . 183 4. Everything as Code: Tools und Prinzipien für Kubernetes Operations . . . 199 4. 1 . . . Deklarative Konfigurationen . . . 201 4. 2 . . . YAML: Die Sprache für Kubernetes . . . 204 4. 3 . . . Versionsverwaltung von Kubernetes-Manifesten . . . 213 4. 4 . . . CI und CD . . . 227 4. 5 . . . Templating mit Kustomize . . . 239 5. Fortgeschrittene Objekte und Konzepte in Kubernetes . . . 251 5. 1 . . . DaemonSets . . . 252 5. 2 . . . Jobs in Kubernetes . . . 255 5. 3 . . . Custom Resources und Custom Resource Definitions . . . 265 5. 4 . . . Downward-API . . . 275 5. 5 . . . Pod Priority und Preemption . . . 278 5. 6 . . . Versionierung von Objekten in Kubernetes . . . 280 6. Stateful-Anwendungen und Storage . . . 283 6. 1 . . . Stateful-Anwendungen in Kubernetes durch StatefulSets . . . 285 6. 2 . . . Persistent Volumes und Persistent Volume Claims . . . 292 6. 3 . . . Ephemeral Volumes . . . 309 6. 4 . . . Weitere Features von Volumes . . . 312 7. Kubernetes-Governance und -Security: Prepare for Production . . . 319 7. 1 . . . Pod Security . . . 321 7. 2 . . . Pod Security Admission . . . 325 7. 3 . . . Admission Controller . . . 326 7. 4 . . . Kubernetes-Policies . . . 329 7. 5 . . . Policy-Objekte . . . 332 7. 6 . . . RBAC für die Zugriffskontrolle . . . 334 8. Anwendungen für Kubernetes entwickeln: Ready for Production . . . 343 8. 1 . . . Pod-Ressourcen managen . . . 344 8. 2 . . . Readiness, Liveness und Startup Probes . . . 348 8. 3 . . . Skalierung und Lastausgleich . . . 358 8. 4 . . . Monitoring . . . 366 9. Kubernetes mit Helm orchestrieren . . . 381 9. 1 . . . Helm, der Kubernetes-Paketmanager . . . 382 9. 2 . . . Helm-Charts lesen und entwickeln . . . 393 9. 3 . . . Eigene Charts entwickeln . . . 411 9. 4 . . . Fazit . . . 421 Index . . . 423