Kubernetes

Eine kompakte Einführung

Brendan Burns, Kelsey Hightower und Joe Beda

Diese Publikation zitieren

Brendan Burns, Kelsey Hightower, Joe Beda, Kubernetes (2020), dpunkt.verlag, Heidelberg, ISBN: 9783969100486

6173
Accesses
34
Quotes

Beschreibung / Abstract


Einfach und schnell erklärt von den Kubernetes-Mitbegründern persönlich



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

  • für Einsteiger und Admins ohne Kubernetes-Vorkenntnisse

  • aktualisierte und erweiterte Auflage



Kubernetes vereinfacht das Bauen, Deployen und Warten skalierbarer, verteilter Systeme in der Cloud radikal. Dieser praktische Leitfaden zeigt Ihnen, wie Kubernetes und die Container-Technologie dabei helfen können, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen.
Die Autoren Brendan Burns, Joe Beda und Kelsey Hightower haben bei Google und in anderen Firmen mit Kubernetes gearbeitet und erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sie werden lernen, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren – egal ob es sich um Online-Services, Systeme zum maschinellen Lernen oder ein Cluster aus Raspberry Pis handelt.

- Lernen Sie die Herausforderungen verteilter Systeme kennen, die Sie mit Kubernetes angehen können.

- Tauchen Sie ein in die containerisierte Anwendungsentwicklung und nutzen Sie dabei zum Beispiel Docker-Container.

- Erstellen Sie Container im Docker-Image-Format mit Kubernetes und lassen Sie sie über die Docker-Runtime ausführen.

- Begutachten Sie die zentralen Konzepte und API-Objekte von Kubernetes, die notwendig sind, um Anwendungen produktiv laufen zu lassen.

- Rollen Sie neue Softwareversionen zuverlässig ohne Downtime oder Fehler aus.

- Lernen Sie aus Beispielen zum Entwickeln und Deployen realer Anwendungen in Kubernetes.



"In nur wenigen Jahren hat sich Kubernetes an die Spitze einer weitreichenden Revolution in der Anwendungsentwicklung gesetzt. Es löst seit langem bestehende Probleme in Anwendungsentwicklung und -management auf eine saubere und trotzdem sehr leistungsfähige Art und Weise. Brendan, Joe und Kelsey waren zentrale Mitspieler beim Auslösen und Vorantreiben dieser Revolution. Ihr Buch dient als Grundlage, um die Technologie Kubernetes, aber auch die dahinterstehenden Kräfte bei der Transformation zu verstehen."
Eric Brewer, Vice President, Google

Beschreibung

Brendan Burns begann seine Karriere mit einem kurzen Einsatz in der Software-Branche, bevor er sich mit einem PhD in Robotik auf die Bewegungsplanung für menschenähnliche Roboterarme konzentrierte. Darauf folgte eine kurze Zeit als Informatik-Professor. Schließlich kehrte er nach Seattle zurück und kam zu Google, wo er an der Web-Suchinfrastruktur mit einem Schwerpunkt auf Low-Latency Indexing arbeitete. Dort gründete er auch zusammen mit Joe Beda und Craig McLuckie das Kubernetes-Projekt. Brendan Burns ist aktuell Director of Engineering bei Microsoft Azure.
Joe Beda begann seine Karriere bei Microsoft am Internet Explorer (er war jung und naiv). Während der sieben Jahre bei Microsoft und der zehn Jahre bei Google hat Joe Beda an GUI-Frameworks, Echtzeit-Sprache und Chat, Telefonie, maschinellem Lernen für Anzeigen und Cloud Computing gearbeitet. Vor allem aber hat er bei Google die Google Compute Engine aus der Taufe gehoben und zusammen mit Brendan Burns und Craig McLuckie Kubernetes geschaffen. Joe Beda ist jetzt CTO von Heptio, einem Start-up, das er zusammen mit Craig McLuckie gegründet hat. Auf Seattle als seine Heimat ist er sehr stolz.
Kelsey Hightower hat in seiner IT-Karriere schon so gut wie jede Rolle übernommen und mag Leadership-Rollen, die sich darauf fokussieren, Dinge umzusetzen und Software auszuliefern. Kelsey Hightower ist ein großer Freund von Open Source und sein Schwerpunkt liegt darin, einfache Werkzeuge zu bauen, die die Leute glücklich machen. Wenn er gerade keinen Go-Code schreibt, finden Sie ihn eventuell beim Unterrichten in technischen Workshops, die alles von der Programmierung bis zur Systemverwaltung abdecken.

Inhaltsverzeichnis

  • BEGINN
  • Inhaltsverzeichnis
  • Vorwort
  • Kubernetes: Eine Widmung
  • 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 Download und 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 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 Kubernetes auf dem Raspberry Pi ausführen
  • 3.4 Der Kubernetes-Client
  • 3.5 Cluster-Komponenten
  • 3.6 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 Autovervollständigen von Befehlen
  • 4.8 Alternative Möglichkeiten zur Kommunikation mit Ihrem Cluster
  • 4.9 Zusammenfassung
  • 5 Pods
  • Abb. 5 1 Ein Beispiel-Pod mit zwei Containern und einem gemeinsamen Dateisystem
  • Tipp
  • 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.2 Das Service-Objekt
  • 7.3 Über das Cluster hinausschauen
  • 7.4 Cloud-Integration
  • 7.5 Weitere Details
  • 7.6 Mit anderen Umgebungen verbinden
  • 7.7 Aufräumen
  • 7.8 Zusammenfassung
  • 8 HTTP Load Balancing mit Ingress
  • Abb. 8 1 Eine typische Ingress-Konfiguration
  • 8.1 Ingress-Spec versus Ingress-Controller
  • 8.2 Contour installieren
  • 8.3 Ingress verwenden
  • 8.4 Fortgeschrittenere Themen und Probleme mit Ingress
  • 8.5 Alternative Ingress-Implementierungen
  • 8.6 Die Zukunft von Ingress
  • 8.7 Zusammenfassung
  • 9 ReplicaSets
  • Tipp
  • 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
  • Tipp
  • 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
  • Tipp
  • 14.1 Role-Based Access Control
  • 14.2 Techniken zur Arbeit mit RBAC
  • 14.3 Fortgeschrittene Techniken
  • 14.4 Zusammenfassung
  • 15 Storage-Lösungen in Kubernetes integrieren
  • 15.1 Externe Services importieren
  • 15.2 Zuverlässige Singletons ausführen
  • 15.3 Kubernetes-eigenes Storage mit StatefulSets
  • 15.4 Zusammenfassung
  • 16 Kubernetes erweitern
  • 16.1 Was bedeutet das Erweitern von Kubernetes?
  • 16.2 Erweiterungspunkte
  • 16.3 Patterns für Custom Resources
  • 16.4 Zusammenfassung
  • 17 Reale Anwendungen deployen
  • 17.1 Jupyter
  • 17.2 Parse
  • 17.3 Ghost
  • 17.4 Redis
  • 17.5 Zusammenfassung
  • 18 Organisieren Sie Ihre Anwendung
  • 18.1 Leitprinzipien
  • 18.2 Ihre Anwendung in der Versionsverwaltung managen
  • 18.3 Ihre Anwendung für Entwicklung, Testen und Deployment strukturieren
  • 18.4 Ihre Anwendung durch Templates parametrisieren
  • 18.5 Ihre Anwendung weltweit deployen
  • 18.6 Zusammenfassung
  • Index

Ähnliche Titel

    Mehr von diesem Autor