Читать книгу Kubernetes - Kelsey Hightower - Страница 7

Inhaltsverzeichnis

Оглавление

Vorwort

1Einführung

1.1Schnelligkeit

1.1.1Der Wert der Immutabilität

1.1.2Deklarative Konfiguration

1.1.3Selbstheilende Systeme

1.2Ihren Service und Ihre Teams skalieren

1.2.1Entkoppeln

1.2.2Einfaches Skalieren für Anwendungen und Cluster

1.2.3Entwicklungs-Teams mit Microservices skalieren

1.2.4Konsistenz und Skalierung durch Separation of Concerns

1.3Abstrahieren Sie Ihre Infrastruktur

1.4Effizienz

1.5Zusammenfassung

2Container erstellen und ausführen

2.1Container-Images

2.1.1Das Docker-Image-Format

2.2Anwendungs-Images mit Docker bauen

2.2.1Dockerfiles

2.2.2Die Image-Größe optimieren

2.2.3Sicherheit von Images

2.3Multistage Image Build

2.4Images in einer Remote-Registry ablegen

2.5Die Docker Container Runtime

2.5.1Container mit Docker ausführen

2.5.2Die kuard-Anwendung erforschen

2.5.3Den Ressourcen-Einsatz begrenzen

2.6Aufräumen

2.7Zusammenfassung

3Ein Kubernetes-Cluster deployen

3.1Kubernetes auf einem öffentlichen Cloud-Provider installieren

3.1.1Google Kubernetes Engine

3.1.2Kubernetes mit dem Azure Kubernetes Service installieren

3.1.3Kubernetes auf den Amazon Web Services installieren

3.1.4Kubernetes mit minikube lokal installieren

3.2Kubernetes in Docker ausführen

3.3Kubernetes auf dem Raspberry Pi ausführen

3.4Der Kubernetes-Client

3.4.1Den Cluster-Status prüfen

3.4.2Worker-Knoten in Kubernetes auflisten

3.5Cluster-Komponenten

3.5.1Kubernetes-Proxy

3.5.2Kubernetes-DNS

3.5.3Kubernetes-UI

3.6Zusammenfassung

4Häufige kubectl-Befehle

4.1Namensräume

4.2Kontexte

4.3Objekte der Kubernetes-API anzeigen

4.4Kubernetes-Objekte erstellen, aktualisieren und löschen

4.5Objekte mit einem Label und Anmerkungen versehen

4.6Debugging-Befehle

4.7Autovervollständigen von Befehlen

4.8Alternative Möglichkeiten zur Kommunikation mit Ihrem Cluster

4.9Zusammenfassung

5Pods

5.1Pods in Kubernetes

5.2In Pods denken

5.3Das Pod-Manifest

5.3.1Einen Pod erstellen

5.3.2Ein Pod-Manifest schreiben

5.4Pods starten

5.4.1Pods auflisten

5.4.2Pod-Details

5.4.3Einen Pod löschen

5.5Auf Ihren Pod zugreifen

5.5.1Port-Forwarding einsetzen

5.5.2Mehr Informationen aus Logs erhalten

5.5.3Befehle in Ihrem Container mit exec ausführen

5.5.4Dateien von und auf Container kopieren

5.6Health-Checks

5.6.1Liveness-Probe

5.6.2Readiness-Probe

5.6.3Arten von Health-Checks

5.7Ressourcen-Management

5.7.1Ressourcen-Anforderungen: Minimal notwendige Ressourcen

5.7.2Den Ressourcen-Einsatz durch Grenzen beschränken

5.8Daten mit Volumes persistieren

5.8.1Volumes in Pods definieren

5.8.2Volumes in Pods nutzen

5.8.3Daten auf Remote-Speicher persistieren

5.9Fügen Sie alles zusammen

5.10Zusammenfassung

6Labels und Anmerkungen

6.1Labels

6.1.1Labels anwenden

6.1.2Labels anpassen

6.1.3Label-Selektoren

6.1.4Label-Selektoren in API-Objekten

6.1.5Labels in der Architektur von Kubernetes

6.2Anmerkungen

6.2.1Anmerkungen definieren

6.3Aufräumen

6.4Zusammenfassung

7Service-Discovery

7.1Was ist Service-Discovery?

7.2Das Service-Objekt

7.2.1Service-DNS

7.2.2Readiness-Checks

7.3Über das Cluster hinausschauen

7.4Cloud-Integration

7.5Weitere Details

7.5.1Endpunkte

7.5.2Manuelle Service-Discovery

7.5.3kube-proxy und Cluster-IPs

7.5.4Umgebungsvariablen zur Cluster-IP

7.6Mit anderen Umgebungen verbinden

7.7Aufräumen

7.8Zusammenfassung

8HTTP Load Balancing mit Ingress

8.1Ingress-Spec versus Ingress-Controller

8.2Contour installieren

8.2.1DNS konfigurieren

8.2.2Eine lokale hosts-Datei konfigurieren

8.3Ingress verwenden

8.3.1Einfachste Anwendung

8.3.2Hostnamen verwenden

8.3.3Pfade verwenden

8.3.4Aufräumen

8.4Fortgeschrittenere Themen und Probleme mit Ingress

8.4.1Mehrere Ingress-Controller laufen lassen

8.4.2Mehrere Ingress-Objekte

8.4.3Ingress und Namensräume

8.4.4Path Rewriting

8.4.5TLS

8.5Alternative Ingress-Implementierungen

8.6Die Zukunft von Ingress

8.7Zusammenfassung

9ReplicaSets

9.1Reconciliation-Schleifen

9.2Die Verbindung zwischen Pods und ReplicaSets

9.2.1Bestehende Container übernehmen

9.2.2Container in Quarantäne stecken

9.3Mit ReplicaSets designen

9.4Spezifikation eines ReplicaSets

9.4.1Pod-Templates

9.4.2Labels

9.5Ein ReplicaSet erstellen

9.6Ein ReplicaSet untersuchen

9.6.1Ein ReplicaSet über einen Pod finden

9.6.2Eine Gruppe von Pods für ein ReplicaSet finden

9.7ReplicaSets skalieren

9.7.1Imperatives Skalieren mit kubectl scale

9.7.2Deklaratives Skalieren mit kubectl appy

9.7.3Ein ReplicaSet automatisch skalieren

9.8ReplicaSets löschen

9.9Zusammenfassung

10Deployments

10.1Ihr erstes Deployment

10.1.1Deployment-Interna

10.2Deployments erstellen

10.3Deployments verwalten

10.4Deployments aktualisieren

10.4.1Ein Deployment skalieren

10.4.2Ein Container-Image aktualisieren

10.4.3Rollout-History

10.5Deployment-Strategien

10.5.1Recreate-Strategie

10.5.2RollingUpdate-Strategie

10.5.3Rollouts verlangsamen, um die Service-Qualität sicherzustellen

10.6Ein Deployment löschen

10.7Ein Deployment überwachen

10.8Zusammenfassung

11DaemonSets

11.1Der DaemonSet-Scheduler

11.2DaemonSets erstellen

11.3DaemonSets auf bestimmte Knoten beschränken

11.3.1Knoten mit Labels versehen

11.3.2Knoten-Selektoren

11.4Ein DaemonSet aktualisieren

11.4.1Rollierendes Update eines DaemonSet

11.5Ein DaemonSet löschen

11.6Zusammenfassung

12Jobs

12.1Das Job-Objekt

12.2Job-Muster

12.2.1Einmalig

12.2.2Parallelism

12.2.3Work-Queues

12.3CronJobs

12.4Zusammenfassung

13ConfigMaps und Secrets

13.1ConfigMaps

13.1.1ConfigMaps erstellen

13.1.2Eine ConfigMap verwenden

13.2Secrets

13.2.1Secrets erstellen

13.2.2Secrets konsumieren

13.2.3Private Docker-Registries

13.3Namensbeschränkungen

13.4ConfigMaps und Secrets managen

13.4.1Ausgabe

13.4.2Erstellen

13.4.3Aktualisieren

13.5Zusammenfassung

14Role-Based Access Control für Kubernetes

14.1Role-Based Access Control

14.1.1Identität in Kubernetes

14.1.2Rollen und Role Bindings verstehen

14.1.3Rollen und Role Bindings in Kubernetes

14.2Techniken zur Arbeit mit RBAC

14.2.1Die Autorisierung mit can-i testen

14.2.2RBAC in der Versionsverwaltung managen

14.3Fortgeschrittene Techniken

14.3.1Cluster-Rollen aggregieren

14.3.2Gruppen für Bindings verwenden

14.4Zusammenfassung

15Storage-Lösungen in Kubernetes integrieren

15.1Externe Services importieren

15.1.1Services ohne Selektoren

15.1.2Grenzen für externe Services: Health-Checking

15.2Zuverlässige Singletons ausführen

15.2.1Ein MySQL-Singleton ausführen

15.2.2Dynamisches Volume-Provisioning

15.3Kubernetes-eigenes Storage mit StatefulSets

15.3.1Eigenschaften von StatefulSets

15.3.2Manuell replizierte MongoDB mit StatefulSets

15.3.3Das MongoDB-Cluster automatisch erstellen

15.3.4Persistente Volumes und StatefulSets

15.3.5Zum Abschluss: Readiness-Proben

15.4Zusammenfassung

16Kubernetes erweitern

16.1Was bedeutet das Erweitern von Kubernetes?

16.2Erweiterungspunkte

16.3Patterns für Custom Resources

16.3.1Just Data

16.3.2Compiler

16.3.3Operator

16.3.4Der Einstieg

16.4Zusammenfassung

17Reale Anwendungen deployen

17.1Jupyter

17.2Parse

17.2.1Voraussetzungen

17.2.2Den Parse-Server bauen

17.2.3Den Parse-Server deployen

17.2.4Parse testen

17.3Ghost

17.3.1Ghost konfigurieren

17.4Redis

17.4.1Redis konfigurieren

17.4.2Einen Redis-Service erstellen

17.4.3Redis deployen

17.4.4Mit unserem Redis-Cluster experimentieren

17.5Zusammenfassung

18Organisieren Sie Ihre Anwendung

18.1Leitprinzipien

18.1.1Dateisysteme als Source of Truth

18.1.2Die Rolle des Code Reviews

18.1.3Feature Gates und Guards

18.2Ihre Anwendung in der Versionsverwaltung managen

18.2.1Struktur im Dateisystem

18.2.2Regelmäßige Versionen managen

18.3Ihre Anwendung für Entwicklung, Testen und Deployment strukturieren

18.3.1Ziele

18.3.2Verlauf eines Releases

18.4Ihre Anwendung durch Templates parametrisieren

18.4.1Mit Helm und Templates parametrisieren

18.4.2Dateisystem-Layout zur Parametrisierung

18.5Ihre Anwendung weltweit deployen

18.5.1Architekturen für ein weltweites Deployment

18.5.2Ein weltweites Deployment implementieren

18.5.3Dashboards und Monitoring für weltweite Deployments

18.6Zusammenfassung

Index

Kubernetes

Подняться наверх