Kubernetes Kochbuch, 2. Auflage

Book description

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Kubernetes ist der De-facto-Standard für die Orchestrierung von Containern und die Verwaltung verteilter Anwendungen in einem Microservices-Framework. In diesem praktischen Kochbuch lernst du praktische Kubernetes-Rezepte für die Automatisierung der Bereitstellung, Skalierung und des Betriebs von Anwendungscontainern in Host-Clustern.

In dieser vollstÃ?ndig aktualisierten zweiten Auflage bieten Sameer Naik, SÃ?©bastien Goasguen und Jonathan Michaux von TriggerMesh ein Problem-Lösungs-Diskussionsformat mit einfachen Nachschlagemöglichkeiten, damit du die detaillierten Antworten findest, die du brauchst - und zwar schnell. Mit Kubernetes kannst du deine Anwendungen schnell und vorhersehbar bereitstellen, damit du effizient auf Kundenwünsche reagieren kannst. Dieses Kochbuch liefert das nötige Wissen, das Entwickler und Systemadministratoren brauchen, um dieses Ziel zu erreichen.

Die Rezepte in diesem Kochbuch konzentrieren sich auf:

  • Erstellen eines Kubernetes-Clusters
  • Verwendung der Kubernetes-Befehlszeilenschnittstelle
  • Grundlegende Workload-Typen verwalten
  • Mit Diensten arbeiten
  • Die Kubernetes-API erforschen
  • Verwaltung zustandsabhängiger und nicht-cloud-nativer Anwendungen
  • Mit Volumes und Konfigurationsdaten arbeiten
  • Skalierung auf Cluster- und Anwendungsebene
  • Sichern deiner Anwendungen
  • Überwachung und Protokollierung
  • Wartung und Fehlerbehebung

Table of contents

  1. Vorwort
    1. Wer sollte dieses Buch lesen?
    2. Warum wir dieses Buch geschrieben haben
    3. Navigieren in diesem Buch
    4. Ein Hinweis zu Kubernetes Releases
    5. Technologie, die du verstehen musst
    6. In diesem Buch verwendete Konventionen
    7. Code-Beispiele verwenden
    8. O'Reilly Online Learning
    9. Wie du uns kontaktierst
    10. Danksagungen
  2. 1. Erste Schritte mit Kubernetes
    1. 1.1. Installation der Kubernetes CLI, kubectl
    2. 1.2. Installation von Minikube zum Betrieb einer lokalenKubernetes-Instanz
    3. 1.3. Minikube lokal für die Entwicklung nutzen
    4. 1.4. Deine erste Anwendung auf Minikube starten
    5. 1.5. Mit kind Kubernetes lokal betreiben
    6. 1.6. Kubernetes in Docker Desktop verwenden
    7. 1.7. Umschalten von kubectl-Kontexten
    8. 1.8. Umschalten von Kontexten und Namensräumen mitkubectx und kubens
  3. 2. Einen Kubernetes Cluster erstellen
    1. 2.1. Vorbereiten eines neuen Knotens für einen Kubernetes Cluster
    2. 2.2. Bootstrapping eines Kubernetes Control-Plane-Knotens
    3. 2.3. Installation eines Container-Netzwerk-Add-ons für dieCluster-Vernetzung
    4. 2.4. Hinzufügen von Worker Nodes zu einem Kubernetes Cluster
    5. 2.5. Einsatz des Kubernetes Dashboards
    6. 2.6. Zugriff auf das Kubernetes Dashboard
    7. 2.7. Einsatz des Kubernetes Metrics Server
    8. 2.8. Herunterladen einer Kubernetes-Version von GitHub
    9. 2.9. Herunterladen von Client- und Server-Binärdateien
    10. 2.10. Verwendung von systemd-Unit-Dateien für die Ausführung vonKubernetes-Komponenten
    11. 2.11. Erstellen eines Kubernetes-Clusters auf der GoogleKubernetes Engine
    12. 2.12. Erstellen eines Kubernetes-Clusters auf AzureKubernetes Service
    13. 2.13. Erstellen eines Kubernetes-Clusters auf AmazonElastic Kubernetes Service
  4. 3. Lernen, den Kubernetes-Client zu verwenden
    1. 3.1. Ressourcen auflisten
    2. 3.2. Löschen von Ressourcen
    3. 3.3. Überwachung von Ressourcenänderungen mit kubectl
    4. 3.4. Bearbeiten von Objekten mit kubectl
    5. 3.5. Aufforderung an kubectl, Ressourcen und Felder zu erklären
  5. 4. Erstellen und Ändern grundlegender Workloads
    1. 4.1. Erstellen eines Pods mit kubectl run
    2. 4.2. Erstellen einer Bereitstellung mit kubectl create
    3. 4.3. Objekte aus Dateimanifesten erstellen
    4. 4.4. Ein Pod-Manifest von Grund auf neu schreiben
    5. 4.5. Starten eines Einsatzes mit Hilfe eines Manifests
    6. 4.6. Aktualisierung eines Einsatzes
    7. 4.7. Einen Batch-Auftrag ausführen
    8. 4.8. Ausführen einer Aufgabe nach einem Zeitplan innerhalb eines Pods
    9. 4.9. Ausführen von Infrastruktur-Daemons pro Knoten
  6. 5. Mit Dienstleistungen arbeiten
    1. 5.1. Einen Dienst erstellen, um deine Anwendung freizugeben
    2. 5.2. Überprüfen des DNS-Eintrags eines Dienstes
    3. 5.3. Den Typ eines Dienstes ändern
    4. 5.4. Einsatz eines Ingress Controllers
    5. 5.5. Dienste von außerhalb des Clusters zugänglich machen
  7. 6. Verwaltung von Anwendungsverzeichnissen
    1. 6.1. Installation von Helm, dem Kubernetes-Paketmanager
    2. 6.2. Hinzufügen von Chart Repositories zu Helm
    3. 6.3. Helm zur Installation von Anwendungen verwenden
    4. 6.4. Prüfen der anpassbaren Parameter eines Diagramms
    5. 6.5. Chart-Parameter außer Kraft setzen
    6. 6.6. Abrufen der vom Benutzer bereitgestellten Parameter einerHelm-Freigabe
    7. 6.7. Deinstallation von Anwendungen mit Helm
    8. 6.8. Erstellen eines eigenen Diagramms zum Verpacken deinerAnwendung mit Helm
    9. 6.9. Installation von Kompose
    10. 6.10. Konvertierung deiner Docker Compose-Dateien inKubernetes-Manifeste
    11. 6.11. Umwandlung deiner Docker Compose-Datei in einHelm-Diagramm
    12. 6.12. Installieren von kapp
    13. 6.13. YAML-Manifeste mit kapp bereitstellen
  8. 7. Die Kubernetes-API und Schlüssel-Metadaten erforschen
    1. 7.1. Entdecken der Endpunkte des Kubernetes API Servers
    2. 7.2. Die Struktur eines Kubernetes-Manifests verstehen
    3. 7.3. Namensräume erstellen, um Namenskollisionen zu vermeiden
    4. 7.4. Quoten innerhalb eines Namensraumes festlegen
    5. 7.5. Ein Objekt beschriften
    6. 7.6. Beschriftungen für Abfragen verwenden
    7. 7.7. Eine Ressource mit einem Befehl annotieren
  9. 8. Volumes und Konfigurationsdaten
    1. 8.1. Austausch von Daten zwischen Containern über einlokales Volume
    2. 8.2. Übergabe eines API-Schlüssels an einen Pod unter Verwendung eines Geheimnisses
    3. 8.3. Bereitstellung von Konfigurationsdaten für eine Anwendung
    4. 8.4. Verwendung eines persistenten Volumens mit Minikube
    5. 8.5. Verständnis der Datenpersistenz auf Minikube
    6. 8.6. Verschlüsselte Geheimnisse in der Versionskontrolle speichern
  10. 9. Skalierung
    1. 9.1. Skalierung eines Einsatzes
    2. 9.2. Horizontale Pod-Autoskalierung verwenden
    3. 9.3. Automatisches Ändern der Größe eines Clusters in GKE
    4. 9.4. Automatisches Ändern der Größe eines Amazon EKS-Clusters
  11. 10. Sicherheit
    1. 10.1. Eine eindeutige Identität für eine Anwendung bereitstellen
    2. 10.2. Auflisten und Anzeigen von Informationen zur Zugriffskontrolle
    3. 10.3. Kontrolle des Zugriffs auf Ressourcen
    4. 10.4. Sichern von Pods
  12. 11. Überwachung und Protokollierung
    1. 11.1. Zugriff auf die Logs eines Containers
    2. 11.2. Wiederherstellung aus einem kaputten Zustand mit einerLiveness Probe
    3. 11.3. Steuerung des Verkehrsflusses zu einem Pod mithilfe einerReadiness Probe
    4. 11.4. Schutz von langsam startenden Containern miteiner Start-up Probe
    5. 11.5. Hinzufügen von Liveness und Readiness Probes zudeinen Einsätzen
    6. 11.6. Zugriff auf Kubernetes-Metriken in der CLI
    7. 11.7. Verwendung von Prometheus und Grafana auf Minikube
  13. 12. Wartung und Fehlersuche
    1. 12.1. Autocomplete für kubectl aktivieren
    2. 12.2. Entfernen eines Pods aus einem Dienst
    3. 12.3. Zugriff auf einen ClusterIP-Dienst außerhalb des Clusters
    4. 12.4. Verstehen und Analysieren von Ressourcenstatus
    5. 12.5. Pods debuggen
    6. 12.6. Beeinflussung des Startverhaltens eines Pods
    7. 12.7. Einen detaillierten Schnappschuss des Cluster-Status erhalten
    8. 12.8. Hinzufügen von Kubernetes Worker Nodes
    9. 12.9. Kubernetes-Knoten für die Wartung entleeren
  14. 13. Dienstmaschen
    1. 13.1. Installation des Istio Service Mesh
    2. 13.2. Einen Microservice mit einem Istio-Beiwagen bereitstellen
    3. 13.3. Routing des Datenverkehrs über einen virtuellen Istio-Dienst
    4. 13.4. Umschreiben einer URL mithilfe eines virtuellen Istio-Dienstes
    5. 13.5. Installation des Linkerd Service Mesh
    6. 13.6. Einen Dienst in das Linkerd Mesh einbinden
    7. 13.7. Verkehr an einen Dienst in Linkerd weiterleiten
    8. 13.8. Verkehr zum Server in Linkerd autorisieren
  15. 14. Serverlose und ereignisgesteuerte Anwendungen
    1. 14.1. Installation des Knative Operators
    2. 14.2. Installation der Knative Serving-Komponente
    3. 14.3. Installation der Knative CLI
    4. 14.4. Einen Knative-Dienst erstellen
    5. 14.5. Installation der Knative Eventing-Komponente
    6. 14.6. Einsatz einer Knative Eventing Source
    7. 14.7. Aktivieren von Knative Eventing-Quellen
    8. 14.8. Installation von Ereignisquellen aus TriggerMesh
  16. 15. Kubernetes erweitern
    1. 15.1. Kompilieren aus dem Quellcode
    2. 15.2. Kompilieren einer bestimmten Komponente
    3. 15.3. Verwendung eines Python-Clients zur Interaktion mit der Kubernetes-API
    4. 15.4. Erweitern der API mit benutzerdefiniertenRessourcendefinitionen
  17. Anhang. Ressourcen
    1. Allgemein
    2. Tutorials und Beispiele
  18. Index
  19. Über die Autoren

Product information

  • Title: Kubernetes Kochbuch, 2. Auflage
  • Author(s): Sameer Naik, Sébastien Goasguen, Jonathan Michaux
  • Release date: September 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781098193492