
GitOps
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions


Persons
Content
- Cover
- Über den Autor
- Titel
- Impressum
- Vorwort
- Inhaltsverzeichnis
- Teil I Grundlagen
- 1 Was ist GitOps?
- 1.1 CIOps vs. GitOps
- 1.2 Der Weg zu GitOps
- 1.2.1 Traditionelle Silos
- 1.2.2 DevOps
- 1.2.3 Infrastructure as Code
- 1.2.4 Kubernetes
- 1.2.5 OpenGitOps
- 1.3 Die vier Prinzipien
- 1.3.1 Prinzip 1: Deklarativ
- 1.3.2 Prinzip 2: Versioniert und unveränderlich
- 1.3.3 Prinzip 3: Automatisch bezogen
- 1.3.4 Prinzip 4: Kontinuierlich angeglichen
- 1.4 Fragen und Missverständnisse
- 2 Welchen Unterschied macht GitOps?
- 2.1 Indizien aus den DORA-Studien
- 2.2 Der Unterschied im Alltag: Geschichten eines Entwicklungsteams
- 2.3 Szenario
- 2.3.1 Repositories
- 2.3.2 Deployment-Fluss
- 2.3.3 Vergleichsszenario »Mit GitOps«
- 2.4 Kontinuierlich nach Dev deployen
- 2.5 Ressourcen aufräumen
- 2.6 Grenzfälle in CI vermeiden
- 2.7 Ressourcen wiederherstellen
- 2.8 Konfigurationsänderungen ausrollen
- 2.9 Incidents navigieren
- 2.10 Zielsysteme besser absichern
- 3 Wie fange ich mit GitOps an?
- 3.1 Agile Empfehlung: zügiger Durchstich
- 3.2 Fragen zur Orientierung
- 3.3 Eine Beispielimplementierung mit Argo CD
- 3.3.1 Zielsetzung
- 3.3.2 Voraussetzungen
- 3.4 Schritt 1: Einen Cluster starten
- 3.5 Schritt 2: Argo CD installieren
- 3.5.1 Ressourcentypen von Argo CD verstehen
- 3.6 Schritt 3: Eine eigene Application erzeugen
- 3.7 Schritt 4: Eine Änderung deployen
- 3.8 Fazit
- Teil II Praxis
- 4 Argo CD oder Flux auswählen
- 4.1 Zahlen und Fakten
- 4.2 Bootstrapping
- 4.3 Linking
- 4.4 CLI und GUI
- 4.5 Komponenten und Ressourcenbedarf
- 4.6 Authentifizierung und Autorisierung
- 4.7 Templating
- 4.8 Configuration Management
- 4.9 Monitoring und Alerting
- 4.10 Ökosystem
- 4.11 Mandantentrennung
- 4.12 Multi-Cluster-Management
- 4.13 OCI statt Git
- 4.14 Hochverfügbarkeit und Lastverteilung
- 4.15 Reifegrad
- 4.16 Kommerzielle Angebote
- 4.17 Fazit und Tipps zur Entscheidungsfindung
- 5 Secrets sicher verwalten
- 5.1 Secrets lagern und verwalten
- 5.1.1 Secrets verschlüsselt im Repo speichern
- 5.1.2 Secrets extern verwalten
- 5.2 Secrets konsumieren
- 5.2.1 Secrets als native Kubernetes-Secrets konsumieren
- 5.2.2 Secrets über Sidecar-Container injizieren
- 5.2.3 Secrets über ein CSI-Volume konsumieren
- 5.3 Wir erweitern die Beispielimplementierung
- 5.3.1 Ziele
- 5.3.2 Datenfluss von HashiCorp Vault über ESO in den Cluster
- 5.3.3 Schritt 1: Das Config-Repo bootstrappen
- 5.3.4 Schritt 2: Anwendungen in neuen Namespace deployen
- 5.3.5 Schritt 3: ESO mit HashiCorp Vault verbinden
- 5.3.6 Schritt 4: Beispiel-Secret erstellen
- 5.3.7 Schritt 5: Das Secret integrieren
- 5.3.8 Schritt 6: Das Secret ändern
- 5.4 Fazit
- 6 Repositories und Ordner strukturieren
- 6.1 Design des GitOps-Prozesses
- 6.2 Kategorien von GitOps-Patterns
- 6.3 Operator Deployment Patterns
- 6.3.1 Instance per Cluster
- 6.3.2 Hub and Spoke
- 6.3.3 Instance per Namespace
- 6.4 Repository Patterns
- 6.4.1 Monorepo
- 6.4.2 Repo per Team
- 6.4.3 Repo per Application
- 6.4.4 Repo per Environment
- 6.5 Promotion Patterns
- 6.5.1 Branch oder Folder per Environment
- 6.5.2 Preview Environments
- 6.5.3 Global Environments oder Environment per Application
- 6.5.4 Configuration Management
- 6.5.5 Config Update
- 6.6 Verdrahtungs-Patterns
- 6.6.1 Bootstrapping
- 6.6.2 Linking
- 6.7 Beispiele für Config-Repos
- 6.7.1 Beispiel 1: Argo CD Autopilot
- 6.7.2 Beispiel 2: GitOps Playground
- 6.7.3 Beispiel 3: Flux Monorepo
- 6.7.4 Beispiel 4: Flux Repo per Team
- 6.7.5 Beispiel 5: The Path to GitOps
- 6.7.6 Beispiel 6: Environment-Varianten
- 6.8 Mandantentrennung
- 6.8.1 Rolle der GitOps-Operatoren
- 6.8.2 Rolle der Repo-Struktur
- 6.8.3 Rolle der Cluster
- 6.8.4 Teams und Environments trennen
- 6.9 Fazit
- 7 Asynchron deployen
- 7.1 Deployment-Flüsse
- 7.1.1 Schritte
- 7.1.2 Kombinationen von Zuständigkeiten
- 7.1.3 Deployment-Fluss 1: CIOps
- 7.1.4 Deployment-Fluss 2: Schmal-GitOps
- 7.1.5 Deployment-Fluss 3: CI-Klammer
- 7.1.6 Deployment-Fluss 4: Übergabe
- 7.1.7 Deployment-Fluss 5: GitOps-geführt
- 7.2 Rollout durch den GitOps-Operator
- 7.2.1 Rollout-Schritte im GitOps-Operator
- 7.2.2 Timing und Koordination der Rollout-Schritte
- 7.2.3 Intervalle der Rollout-Schritte
- 7.2.4 Rollout im GitOps-Operator aktiv triggern
- 7.3 Config Update
- 7.3.1 Argo CD Image Updater
- 7.3.2 Flux Image Automation
- 7.3.3 Dependency-Bot
- 7.4 Prüfen
- 7.4.1 Prüfen via CI-Server
- 7.4.2 Prüfen via GitOps-Operator
- 7.4.3 Progressive Delivery
- 7.5 CI-Server mit GitOps verwalten
- 7.6 Fazit
- 8 Alerting integrieren
- 8.1 Gesundheitszustand feststellen
- 8.1.1 Kubernetes-nativ mit kstatus
- 8.1.2 Helm-Hooks
- 8.1.3 Flux
- 8.1.4 Argo CD
- 8.2 Benachrichtigungen verschicken
- 8.2.1 Flux
- 8.2.2 Argo CD
- 8.3 Ganzheitliche Herangehensweise
- 9 Imperativ eingreifen
- 9.1 Eindeutig ausgeschlossene Aktionen
- 9.2 Risiken und Chancen
- 9.3 Einen Debug-Pod starten
- 9.4 Ein Backup wiederherstellen
- 9.5 Ein Deployment neu starten
- 9.6 Ressourcen neu erzeugen
- 9.7 Ein Deployment skalieren
- 9.8 Fazit
- Teil III Weiterführendes
- 10 Mehrere Cluster verwalten
- 10.1 Single-Cluster vs. Multi-Cluster
- 10.2 Cluster API
- 10.3 Konzept von Cluster API
- 10.4 Definition der Cluster API-Ressourcen
- 10.5 Installation des Management-Clusters
- 10.5.1 Provider konfigurieren und temporären Management-Cluster bauen
- 10.5.2 Worker Cluster anlegen
- 10.5.3 Installation des Cluster API Operators
- 10.5.4 Deklarative Installation des Management-Clusters
- 10.6 Verwaltung von Workload-Clustern mit Argo CD
- 10.7 Fazit
- 11 Infrastruktur verwalten
- 11.1 Terraform
- 11.1.1 Ein kurzes Tutorial zum Einstieg
- 11.1.2 Grundbausteine von Terraform
- 11.1.3 Terraform vs. OpenTofu
- 11.1.4 Terraform und GitOps
- 11.1.5 Eine EC2-Instanz verwalten mit TF-Controller und Flamingo
- 11.2 Pulumi
- 11.2.1 Grundbausteine von Pulumi
- 11.2.2 Eine EC2-Instanz verwalten mit Pulumi Kubernetes Operator
- 11.3 Crossplane
- 11.3.1 Grundbausteine von Crossplane
- 11.3.2 Eine EC2-Instanz verwalten mit Crossplane
- 12 GitOps außerhalb von Kubernetes
- 12.1 Aus den GitOps-Prinzipien folgende Verantwortlichkeiten
- 12.2 Infrastructure-as-Code-Formate
- 12.3 Weitere GitOps-Operatoren
- 12.4 Features von GitOps-Operatoren
- 12.5 Einen eigenen GitOps-Operator bauen
- 12.6 Eigene GitOps-Operatoren aus der Praxis
- 12.6.1 Docker Swarm und Ansible
- 12.6.2 Helmfile
- 12.6.3 Lektionen
- Teil IV Anhang
- Nachwort
- Fußnoten
- Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.