My Account Log in

1 option

Kubernetes : Eine kompakte Einführung.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Burns, Brendan.
Contributor:
Beda, Joe.
Hightower, Kelsey.
Demmig, Thomas.
Language:
German
Subjects (All):
Google.
Cloud.
Docker.
container.
DevOps.
raspberry-pi.
borg-system.
continuous-delivery.
VM.
deplyoment.
Redis.
virtual-machines.
Compose.
Physical Description:
1 online resource (264 pages)
Edition:
2nd ed.
Place of Publication:
Heidelberg : dpunkt.verlag, 2020.
Summary:
Long description: 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
Biographical note: 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.
Contents:
Intro
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
Tipp
Warnung
Der Download und Einsatz von Codebeispielen
Wie Sie uns erreichen
Danksagungen
1 Einführung
1.1 Schnelligkeit
1.1.1 Der Wert der Immutabilität
1.1.2 Deklarative Konfiguration
1.1.3 Selbstheilende Systeme
1.2 Ihren Service und Ihre Teams skalieren
1.2.1 Entkoppeln
1.2.2 Einfaches Skalieren für Anwendungen und Cluster
1.2.3 Entwicklungs-Teams mit Microservices skalieren
1.2.4 Konsistenz und Skalierung durch Separation of Concerns
Abb. 1-1 Eine Möglichkeit, wie die verschiedenen Operations-Teams durch APIs entkoppelt sind
1.3 Abstrahieren Sie Ihre Infrastruktur
1.4 Effizienz
1.5 Zusammenfassung
2 Container erstellen und ausführen
2.1 Container-Images
2.1.1 Das Docker-Image-Format
Container-Layering
2.2 Anwendungs-Images mit Docker bauen
2.2.1 Dockerfiles
Listing 2-1 package.json
Listing 2-2 server.js
Listing 2-3 .dockerignore
Listing 2-4 Dockerfile
2.2.2 Die Image-Größe optimieren
2.2.3 Sicherheit von Images
2.3 Multistage Image Build
2.4 Images in einer Remote-Registry ablegen
2.5 Die Docker Container Runtime
2.5.1 Container mit Docker ausführen
2.5.2 Die kuard-Anwendung erforschen
2.5.3 Den Ressourcen-Einsatz begrenzen
Speicher-Ressourcen begrenzen
CPU-Ressourcen begrenzen
2.6 Aufräumen
2.7 Zusammenfassung
3 Ein Kubernetes-Cluster deployen
3.1 Kubernetes auf einem öffentlichen Cloud-Provider installieren
3.1.1 Google Kubernetes Engine.
3.1.2 Kubernetes mit dem Azure Kubernetes Service installieren
3.1.3 Kubernetes auf den Amazon Web Services installieren
3.1.4 Kubernetes mit minikube lokal installieren
3.2 Kubernetes in Docker ausführen
3.3 Kubernetes auf dem Raspberry Pi ausführen
3.4 Der Kubernetes-Client
3.4.1 Den Cluster-Status prüfen
3.4.2 Worker-Knoten in Kubernetes auflisten
3.5 Cluster-Komponenten
3.5.1 Kubernetes-Proxy
3.5.2 Kubernetes-DNS
3.5.3 Kubernetes-UI
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
5.1 Pods in Kubernetes
5.2 In Pods denken
5.3 Das Pod-Manifest
5.3.1 Einen Pod erstellen
5.3.2 Ein Pod-Manifest schreiben
Listing 5-1 kuard-pod.yaml
5.4 Pods starten
5.4.1 Pods auflisten
5.4.2 Pod-Details
5.4.3 Einen Pod löschen
5.5 Auf Ihren Pod zugreifen
5.5.1 Port-Forwarding einsetzen
5.5.2 Mehr Informationen aus Logs erhalten
5.5.3 Befehle in Ihrem Container mit exec ausführen
5.5.4 Dateien von und auf Container kopieren
5.6 Health-Checks
5.6.1 Liveness-Probe
Listing 5-2 kuard-pod-health.yaml
5.6.2 Readiness-Probe
5.6.3 Arten von Health-Checks
5.7 Ressourcen-Management
5.7.1 Ressourcen-Anforderungen: Minimal notwendige Ressourcen
Listing 5-3 kuard-pod-resreq.yaml
Details zu den Request-Grenzen
Tipp.
5.7.2 Den Ressourcen-Einsatz durch Grenzen beschränken
Listing 5-4 kuard-pod-reslim.yaml
5.8 Daten mit Volumes persistieren
5.8.1 Volumes in Pods definieren
Listing 5-5 kuard-pod-vol.yaml
5.8.2 Volumes in Pods nutzen
Kommunikation/Synchronisation
Cache
Persistente Daten
Das Host-Dateisystem mounten
5.8.3 Daten auf Remote-Speicher persistieren
5.9 Fügen Sie alles zusammen
Listing 5-6 kuard-pod-full.yaml
5.10 Zusammenfassung
6 Labels und Anmerkungen
6.1 Labels
Tab. 6-1 Beispiele für Labels
6.1.1 Labels anwenden
Listing 6-1 alpaca-prod.yaml
Listing 6-2 alpaca-test.yaml
Listing 6-3 bandicoot-prod.yaml
Listing 6-4 bandicoot-staging.yaml
Abb. 6-1 Darstellung der Labels für unsere Deployments
6.1.2 Labels anpassen
6.1.3 Label-Selektoren
Tab. 6-2 Selektor-Operatoren
6.1.4 Label-Selektoren in API-Objekten
6.1.5 Labels in der Architektur von Kubernetes
6.2 Anmerkungen
6.2.1 Anmerkungen definieren
6.3 Aufräumen
6.4 Zusammenfassung
7 Service-Discovery
7.1 Was ist Service-Discovery?
7.2 Das Service-Objekt
Listing 7-1 alpaca-prod.yaml
Listing 7-2 bandicoot-prod.yaml
7.2.1 Service-DNS
7.2.2 Readiness-Checks
7.3 Über das Cluster hinausschauen
7.4 Cloud-Integration
7.5 Weitere Details
7.5.1 Endpunkte
7.5.2 Manuelle Service-Discovery
7.5.3 kube-proxy und Cluster-IPs
Abb. 7-1 Konfigurieren und Verwenden einer Cluster-IP
7.5.4 Umgebungsvariablen zur Cluster-IP
Tab. 7-1 Umgebungsvariablen des Service
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.2.1 DNS konfigurieren.
8.2.2 Eine lokale hosts-Datei konfigurieren
8.3 Ingress verwenden
8.3.1 Einfachste Anwendung
Listing 8-1 simple-ingress.yaml
8.3.2 Hostnamen verwenden
Listing 8-2 host-ingress.yaml
8.3.3 Pfade verwenden
Listing 8-3 path-ingress.yaml
8.3.4 Aufräumen
8.4 Fortgeschrittenere Themen und Probleme mit Ingress
8.4.1 Mehrere Ingress-Controller laufen lassen
8.4.2 Mehrere Ingress-Objekte
8.4.3 Ingress und Namensräume
8.4.4 Path Rewriting
8.4.5 TLS
Listing 8-4 tls-secret.yaml
Listing 8-5 tls-ingress.yaml
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.2.1 Bestehende Container übernehmen
9.2.2 Container in Quarantäne stecken
9.3 Mit ReplicaSets designen
9.4 Spezifikation eines ReplicaSets
Listing 9-1 kuard-rs.yaml
9.4.1 Pod-Templates
9.4.2 Labels
9.5 Ein ReplicaSet erstellen
9.6 Ein ReplicaSet untersuchen
9.6.1 Ein ReplicaSet über einen Pod finden
9.6.2 Eine Gruppe von Pods für ein ReplicaSet finden
9.7 ReplicaSets skalieren
9.7.1 Imperatives Skalieren mit kubectl scale
9.7.2 Deklaratives Skalieren mit kubectl appy
9.7.3 Ein ReplicaSet automatisch skalieren
Basierend auf der CPU automatisch skalieren
9.8 ReplicaSets löschen
9.9 Zusammenfassung
10 Deployments
10.1 Ihr erstes Deployment
10.1.1 Deployment-Interna
10.2 Deployments erstellen
10.3 Deployments verwalten
10.4 Deployments aktualisieren
10.4.1 Ein Deployment skalieren
10.4.2 Ein Container-Image aktualisieren
10.4.3 Rollout-History
10.5 Deployment-Strategien
10.5.1 Recreate-Strategie
10.5.2 RollingUpdate-Strategie.
Mehrere Versionen Ihres Service managen
Abb. 10-1 Entkoppelte (links) und gekoppelte (rechts) Anwendungs-Architektur
Ein rollierendes Update konfigurieren
10.5.3 Rollouts verlangsamen, um die Service-Qualität sicherzustellen
Abb. 10-2 Der Deployment-Lebenszyklus von Kubernetes
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
Listing 11-1 fluentd.yaml
11.3 DaemonSets auf bestimmte Knoten beschränken
11.3.1 Knoten mit Labels versehen
11.3.2 Knoten-Selektoren
Listing 11-2 nginx-fast-storage.yaml
11.4 Ein DaemonSet aktualisieren
11.4.1 Rollierendes Update eines DaemonSet
11.5 Ein DaemonSet löschen
11.6 Zusammenfassung
12 Jobs
12.1 Das Job-Objekt
12.2 Job-Muster
Tab. 12-1 Job-Muster
12.2.1 Einmalig
Listing 12-1 job-oneshot.yaml
Pod-Fehler
Listing 12-2 job-oneshot-failure1.yaml
12.2.2 Parallelism
Listing 12-3 job-parallel.yaml
12.2.3 Work-Queues
Abb. 12-1 Parallele Jobs
Eine Work-Queue starten
Listing 12-4 rs-queue.yaml
Listing 12-5 service-queue.yaml
Die Queue füllen
Listing 12-6 load-queue.sh
Den Konsumenten-Job erstellen
Listing 12-7 job-consumers.yaml
Aufräumen
12.3 CronJobs
12.4 Zusammenfassung
13 ConfigMaps und Secrets
13.1 ConfigMaps
13.1.1 ConfigMaps erstellen
Listing 13-1 my-config.txt
13.1.2 Eine ConfigMap verwenden
Listing 13-2 kuard-config.yaml
Abb. 13-1 kuard zeigt seine Umgebung.
Abb. 13-2 Das Verzeichnis /config aus Sicht von kuard
13.2 Secrets
13.2.1 Secrets erstellen
13.2.2 Secrets konsumieren
Secrets-Volumes
Listing 13-3 kuard-secret.yaml
13.2.3 Private Docker-Registries.
Listing 13-4 kuard-secret-ips.yaml.
Notes:
Description based on publisher supplied metadata and other sources.
PublicationDate: 20201209
ISBN:
9781098128487
1098128486
9783969100486
3969100488
OCLC:
1227391634

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account