Kubernetes

Eine kompakte Einführung

Brendan Burns, Kelsey Hightower, Joe Beda und Lachlan Evenson

Diese Publikation zitieren

Brendan Burns, Kelsey Hightower, Joe Beda, Lachlan Evenson, Kubernetes (2023), dpunkt.verlag, Heidelberg, ISBN: 9783969109625

2483
Accesses
18
Quotes

Beschreibung / Abstract


Kubernetes einfach und schnell erklärt



  • Alles, was Sie über Kubernetes wissen müssen

  • Für Einsteiger und Admins ohne Kubernetes-Vorkenntnisse

  • Mit zahlreichen Beispielen aus der Praxis


Kubernetes hat radikal die Art und Weise verändert, wie Softwareentwicklung und Systemadministration Anwendungen in der Cloud bauen, deployen und warten. Die aktualisierte dritte Auflage dieses Buches zeigt Ihnen, wie dieser beliebte Container-Orchestrierer dabei helfen kann, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen – egal ob Ihnen verteilte Systeme neu sind oder ob Sie schon längere Zeit Cloud-native Anwendungen deployen.


Die Kubernetes-Veteranen Brendan Burns, Joe Beda, Kelsey Hightower und Lachlan Evenson erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sind Sie aus der Softwareentwicklung, Architektur oder Administration, erfahren Sie, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren.


Aus dem Inhalt:

- Erstellen Sie ein einfaches Cluster, um zu lernen, wie Kubernetes funktioniert.

- Tauchen Sie in die Details des Deployments mit Kubernetes ein.

- Arbeiten Sie mit den spezialisierten Objekten in Kubernetes, wie zum Beispiel DaemonSets, Jobs, ConfigMaps und Secrets.

- Erfahren Sie mehr über Deployments, die den Lebenszyklus einer vollständigen Anwendung zusammenhalten.

- Sichern Sie Ihre Deployments ab.

- Deployen Sie Anwendungen auf mehrere Cluster und greifen Sie auf Kubernetes über Programmiersprachen zu.


"Geschrieben von vier der weltweit angesehensten Experten für Cloud-native Systeme, ist ›Kubernetes‹ das Buch der Wahl, um eine solide Grundlage für Kubernetes-Konzepte zu schaffen, mit Beispielen, die Sie dabei unterstützen, Kubernetes selbst zu erkunden." — Liz Rice, Isovalent


Beschreibung

Brendan Burns, Distinguished Engineer in Microsoft Azure, hat zusammen mit Joe Beda und Craig McLuckie das Kubernetes-Projekt bei Google mitbegründet. Aktuell ist er Director of Engineering bei Microsoft Azure. Joe Beda ist CTO von Heptio, einem Start-up, das er zusammen mit Craig McLuckie gegründet hat. Zuvor hat er bei Google die Google Compute Engine aus der Taufe gehoben und zusammen mit Brendan Burns und Craig McLuckie Kubernetes geschaffen. Kelsey Hightower ist Staff Developer Advocate für die Google Cloud Platform. Er ist ein großer Freund von Open Source und sein Schwerpunkt liegt darin, einfache Werkzeuge zu bauen, die die Menschen glücklich machen. Lachlan Evenson ist leitender Produktmanager des Container Compute Teams bei Microsoft Azure. Er hat durch praktische Trainings vielen Leuten dabei geholfen, Kubernetes zu integrieren.

Inhaltsverzeichnis

  • BEGINN
  • Inhalt
  • Einleitung
  • Wer dieses Buch lesen sollte
  • Warum wir dieses Buch geschrieben haben
  • Warum wir dieses Buch aktualisiert haben
  • Ein Wort zu aktuellen Cloud-nativen Anwendungen
  • Was Sie in diesem Buch finden
  • Online-Ressourcen
  • Konventionen in diesem Buch
  • Der Einsatz von Codebeispielen
  • Wie Sie uns erreichen
  • Danksagungen
  • 1 Einführung
  • 1.1 Schnelligkeit
  • 1.2 Ihren Service und Ihre Teams skalieren
  • 1.3 Abstrahieren Sie Ihre Infrastruktur
  • 1.4 Effizienz
  • 1.5 Cloud-natives Ökosystem
  • 1.6 Zusammenfassung
  • 2 Container erstellen und ausführen
  • 2.1 Container-Images
  • 2.2 Anwendungs-Images mit Docker bauen
  • 2.3 Multistage Image Build
  • 2.4 Images in einer Remote-Registry ablegen
  • 2.5 Die Docker Container Runtime
  • 2.6 Aufräumen
  • 2.7 Zusammenfassung
  • 3 Ein Kubernetes-Cluster deployen
  • 3.1 Kubernetes auf einem öffentlichen Cloud-Provider installieren
  • 3.2 Kubernetes in Docker ausführen
  • 3.3 Der Kubernetes-Client
  • 3.4 Cluster-Komponenten
  • 3.5 Zusammenfassung
  • 4 Häufige kubectl-Befehle
  • 4.1 Namensräume
  • 4.2 Kontexte
  • 4.3 Objekte der Kubernetes-API anzeigen
  • 4.4 Kubernetes-Objekte erstellen, aktualisieren und löschen
  • 4.5 Objekte mit einem Label und Anmerkungen versehen
  • 4.6 Debugging-Befehle
  • 4.7 Cluster-Management
  • 4.8 Autovervollständigen von Befehlen
  • 4.9 Alternative Möglichkeiten zur Kommunikation mit Ihrem Cluster
  • 4.10 Zusammenfassung
  • 5 Pods
  • 5.1 Pods in Kubernetes
  • 5.2 In Pods denken
  • 5.3 Das Pod-Manifest
  • 5.4 Pods starten
  • 5.5 Auf Ihren Pod zugreifen
  • 5.6 Health-Checks
  • 5.7 Ressourcen-Management
  • 5.8 Daten mit Volumes persistieren
  • 5.9 Fügen Sie alles zusammen
  • 5.10 Zusammenfassung
  • 6 Labels und Anmerkungen
  • 6.1 Labels
  • 6.2 Anmerkungen
  • 6.3 Aufräumen
  • 6.4 Zusammenfassung
  • 7 Service-Discovery
  • 7.1 Was ist Service-Discovery?
  • 7.3 Über das Cluster hinausschauen
  • 7.4 Load-Balancer-Integration
  • 7.5 Weitere Details
  • 7.6 Mit anderen Umgebungen verbinden
  • 7.7 Aufräumen
  • 7.8 Zusammenfassung
  • 8 HTTP Load Balancing mit Ingress
  • 8.1 Ingress-Spec versus Ingress-Controller
  • 8.2 Contour installieren
  • 8.4 Fortgeschrittenere Themen und Probleme mit Ingress
  • 8.5 Alternative Ingress-Implementierungen
  • 8.6 Die Zukunft von Ingress
  • 8.7 Zusammenfassung
  • 9 ReplicaSets
  • 9.1 Reconciliation-Schleifen
  • 9.2 Die Verbindung zwischen Pods und ReplicaSets
  • 9.3 Mit ReplicaSets designen
  • 9.4 Spezifikation eines ReplicaSets
  • 9.5 Ein ReplicaSet erstellen
  • 9.6 Ein ReplicaSet untersuchen
  • 9.7 ReplicaSets skalieren
  • 9.8 ReplicaSets löschen
  • 9.9 Zusammenfassung
  • 10 Deployments
  • 10.1 Ihr erstes Deployment
  • 10.2 Deployments erstellen
  • 10.3 Deployments verwalten
  • 10.4 Deployments aktualisieren
  • 10.5 Deployment-Strategien
  • 10.6 Ein Deployment löschen
  • 10.7 Ein Deployment überwachen
  • 10.8 Zusammenfassung
  • 11 DaemonSets
  • 11.1 Der DaemonSet-Scheduler
  • 11.2 DaemonSets erstellen
  • 11.3 DaemonSets auf bestimmte Knoten beschränken
  • 11.4 Ein DaemonSet aktualisieren
  • 11.5 Ein DaemonSet löschen
  • 11.6 Zusammenfassung
  • 12 Jobs
  • 12.1 Das Job-Objekt
  • 12.2 Job-Muster
  • 12.3 CronJobs
  • 12.4 Zusammenfassung
  • 13 ConfigMaps und Secrets
  • 13.1 ConfigMaps
  • 13.2 Secrets
  • 13.3 Namensbeschränkungen
  • 13.4 ConfigMaps und Secrets managen
  • 13.5 Zusammenfassung
  • 14 Role-Based Access Control für Kubernetes
  • 14.1 Role-Based Access Control
  • 14.2 Techniken zur Arbeit mit RBAC
  • 14.3 Fortgeschrittene Techniken
  • 14.4 Zusammenfassung
  • 15 Service Meshes
  • 15.1 Verschlüsselung und Authentifizierung mit Mutual TLS
  • 15.2 Traffic Shaping
  • 15.3 Introspection
  • 15.4 Brauchen Sie wirklich ein Service Mesh?
  • 15.5 Introspection einer Service-Mesh-Implementierung
  • 15.6 Service-Mesh-Landschaft
  • 15.7 Zusammenfassung
  • 16 Storage-Lösungen in Kubernetes integrieren
  • 16.1 Externe Services importieren
  • 16.2 Zuverlässige Singletons ausführen
  • 16.3 Kubernetes-eigenes Storage mit StatefulSets
  • 16.4 Zusammenfassung
  • 17 Kubernetes erweitern
  • 17.1 Was bedeutet das Erweitern von Kubernetes?
  • 17.2 Erweiterungspunkte
  • 17.3 Patterns für Custom Resources
  • 17.4 Zusammenfassung
  • 18 Kubernetes über Programmiersprachen steuern
  • 18.1 Die Kubernetes-API aus Sicht eines Clients
  • 18.2 Mit der Kubernetes-API programmieren
  • 18.3 Zusammenfassung
  • 19 Anwendungen in Kubernetes absichern
  • 19.1 SecurityContext verstehen
  • 19.2 Pod Security
  • 19.3 Managen von Service-Accounts
  • 19.4 Role-Based Access Control
  • 19.5 RuntimeClass
  • 19.6 NetworkPolicy
  • 19.7 Service Mesh
  • 19.8 Security-Benchmark-Tools
  • 19.9 Image-Sicherheit
  • 19.10 Zusammenfassung
  • 20 Policy und Governance für Kubernetes-Cluster
  • 20.1 Warum Policy und Governance wichtig sind
  • 20.2 Genehmigungsablauf
  • 20.3 Policy und Governance mit Gatekeeper
  • 20.4 Zusammenfassung
  • 21 Anwendungen auf mehrere Cluster deployen
  • 21.1 Bevor Sie überhaupt anfangen
  • 21.2 Ganz oben mit einem Load-Balancing-Ansatz beginnen
  • 21.3 Anwendungen für mehrere Cluster bauen
  • 21.4 Zusammenfassung
  • 22 Organisieren Sie Ihre Anwendung
  • 22.1 Leitprinzipien
  • 22.2 Ihre Anwendung in der Versionsverwaltung managen
  • 22.3 Ihre Anwendung für Entwicklung, Testen und Deployment strukturieren
  • 22.4 Ihre Anwendung durch Templates parametrisieren
  • 22.5 Ihre Anwendung weltweit deployen
  • 22.6 Zusammenfassung
  • A Ein eigenes Kubernetes-Cluster bauen
  • A.1 Teileliste
  • A.2 Images flashen
  • A.3 Erstes Booten: Master
  • A.4 Zusammenfassung
  • Index

Ähnliche Titel

    Mehr von diesem Autor