Liebel | GitOps | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 679 Seiten

Reihe: Rheinwerk Computing

Liebel GitOps

Das Praxisbuch für DevOps-Teams und Systemarchitekten
1. Auflage 2025
ISBN: 978-3-367-11306-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Das Praxisbuch für DevOps-Teams und Systemarchitekten

E-Book, Deutsch, 679 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-11306-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



So bauen Sie hochautomatisierte und sichere Systeme für Produktiv-Workloads auf

GitOps sorgt gemeinsam mit der etablierten CI/CD-Praxis für den durchgängigen, automatisierten Fluss vom Commit bis zum laufenden System und stellt damit einen zentralen Bestandteil moderner Container-Infrastrukturen dar. Nur so können Produkte sicher, voll auditierbar und flexibel veröffentlicht werden. Wie Sie abseits von kurzlebigen Hypes resiliente, hochautomatisierte und sichere Systeme für Produktiv-Workloads aufbauen, zeigt Ihnen Oliver Liebel anhand praktischer Szenarien. Sie erfahren, wie Sie CI/CD-GitOps-Systeme unter Berücksichtigung von Security- und Compliance-Aspekten nahtlos in moderne Container-Infrastrukturen integrieren, sie Operator-gestützt mit Kubernetes/OpenShift verwalten und Setups für den Unternehmenseinsatz implementieren. Sogar die vollautomatisierte Erzeugung und Verwaltung ganzer Cluster-Flotten sowie Infrastrukturen sind so möglich.

Kein Vendor Lock-In dank anbieterunabhängiger Tools wie Tekton (OpenShift Pipelines) und Argo (OpenShift GitOps), der Cluster-API, Crossplane und vielen anderen, die sich auf Kubernetes- und OpenShift-Plattformen seit vielen Jahren in der Praxis bewährt haben und alle Schwerpunkte abdecken, die im Unternehmenseinsatz wichtig sind.

Aus dem Inhalt:

  • CI/CD und GitOps: Grundlagen und Use Cases, strategische Betrachtungen
  • Operator Foundations und CI/CD-GitOps-Systeme im Überblick
  • GitOps (CI-Fokus) unter OpenShift/Kubernetes mit Tekton (OpenShift-Pipelines
  • Pipelines mit Checks, Approval, konditionaler Ausführung, Tekton Bundles, Artifact Hubs, Pipeline Debugging
  • Supply Chain Security (SLSA) in Theorie und Praxis: Sigstore, Cosign und mehr
  • Pipelines für vollautomatisierte Operator-Build Prozesse, Pipelines as Code, Argo Workflows
  • GitOps (CD Fokus) mit ArgoCD: Konfiguration und Management, Security, Compliance
  • Applications und ApplicationSets, AppSets im RHACM Umfeld, App Projects
  • Security für CI/CD-GitOps-Systeme: Secret Management, Chains, Vault, Kyverno, OPA Gatekeeper und mehr
  • Argo Rollouts: Blue/Green, Canary, Extended Healthchecks, Auto-Rollbacks
  • Kubernetes-Cluster via Cluster API ausrollen und mit Apps provisionieren
  • IaC: Everything as Code – externe Infrastrukturen in der Cloud und on-prem souverän mit Crossplane managen
Liebel GitOps jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


  Vorwort ... 21

  1.  CI/CD und GitOps unter Kubernetes/OpenShift in Enterprise-Umgebungen ... 23


       1.1 ... Vorbemerkungen ... 27

       1.2 ... Kernziele und die rote Fäden ... 28

       1.3 ... Zielgruppen und verwendete Systeme ... 29

  2.  Grundsätzliche strategische Überlegungen ... 31


       2.1 ... Entscheidungsfindung ... 31

       2.2 ... Changes ... 32

       2.3 ... CI/CD und GitOps ... 32

       2.4 ... Plattformgebundene vs. generische GitOps-Tools ... 34

       2.5 ... Ein Überblick über die Tools ... 35

  3.  Preflights: Operatoren ... 39


       3.1 ... Operator Foundations ... 40

       3.2 ... Operator-Typen und Maturitätslevel ... 48

       3.3 ... Operator-Typen im funktionalen Vergleich: Ansible vs. Go ... 51

       3.4 ... OLM -- wer überwacht die Wächter? ... 53

       3.5 ... Operator-Management ... 58

  4.  CI/CD-Pipelines und GitOps -- Überblick ... 61


       4.1 ... GitOps ... 62

       4.2 ... Git-Systeme und CI/CD- und GitOps-Tools im Vergleich ... 64

       4.3 ... Git-Foundations ... 82

  5.  GitOps mit Tekton/OpenShift Pipelines (CI-Fokus) ... 89


       5.1 ... Tekton ... 89

       5.2 ... Tekton: Aufbau, Funktion, Konzepte und Custom Resources ... 91

       5.3 ... PipelineRun, Pipeline, Tasks und mehr ... 92

       5.4 ... Webhooks, Trigger*, EventListener und Interceptor unter Tekton ... 118

       5.5 ... Tekton-Setup ... 131

       5.6 ... Privater Tekton/Artifact Hub ... 156

       5.7 ... Hands-on: Simple Pipeline (Pi-Calculator) -- Build, Push & Deploy ... 163

       5.8 ... Pipeline mit Checks -- Vorbetrachtungen ... 185

       5.9 ... Pipelines mit Checks -- Überblick ... 194

       5.10 ... Die Pipeline »Vote-App« mit Checks und interner Registry ... 194

       5.11 ... Pipeline mit Checks (GitLeaks, Trivy, Golang) und Staging-Task (Skopeo) ... 221

       5.12 ... Pipeline mit Checks (SonarQube) ... 232

       5.13 ... Überblick: Supply Chain Security (CI) ... 241

       5.14 ... Tekton Chains (SLSA 2) ... 246

       5.15 ... Tekton Chains (SLSA 2) unter Vanilla Kubernetes ... 261

       5.16 ... Tekton Chains unter OpenShift ... 268

       5.17 ... Tekton-Bundles ... 275

       5.18 ... Tekton Pipeline für einen Operator-Build ... 280

       5.19 ... Debugging von Tekton-Pipelines ... 286

       5.20 ... Pipelines as Code ... 290

       5.21 ... Automatische Erzeugung von KubeVirt/OpenShift-Virtualization-VM-Images mit OpenShift Pipelines ... 317

       5.22 ... Argo Workflows (CI) ... 330

  6.  GitOps mit Argo CD/OpenShift GitOps (CD-Fokus) ... 343


       6.1 ... Vorbetrachtungen ... 343

       6.2 ... Argo-Setup unter Vanilla Kubernetes/GKE ... 348

       6.3 ... OpenShift GitOps-/Argo-CD-Setup unter OpenShift ... 351

       6.4 ... Argo-Konfiguration und -Management ... 353

       6.5 ... Argo CD: Applications ... 371

       6.6 ... App-Projects ... 405

       6.7 ... Argo Notifications ... 412

       6.8 ... Argo ApplicationSets ... 423

       6.9 ... Argo ApplicationSets (Argo-CD-nativ) ... 429

       6.10 ... Argo-ApplicationSets unter RHACM ... 434

       6.11 ... Argo Resource Health ... 442

  7.  Security für CI/CD- und GitOps-Systeme mit Policies as Code ... 451


       7.1 ... Tool-Überblick: Kyverno, OPA Gatekeeper, Kubewarden ... 452

       7.2 ... Kyverno-Policies ... 453

       7.3 ... OPA Gatekeeper ... 463

       7.4 ... OPA Gatekeeper vs. Kyverno ... 470

  8.  Secret-Management für CI/CD und GitOps -- Überblick ... 473


       8.1 ... Die Problematik ... 473

       8.2 ... Tools und Konzepte im Überblick ... 474

  9.  Secret-Management für GitOps-Szenarien -- Hands-on ... 481


       9.1 ... HashiCorp Vault -- Überblick ... 481

       9.2 ... Vault-Cluster -- Setup ... 490

       9.3 ... Vault Agent Sidecar Injector ... 499

       9.4 ... Vault Secrets Operator ... 506

       9.5 ... Argo CD Vault Plugin ... 514

       9.6 ... External Secrets Operator (Google Secret Manager) ... 521

       9.7 ... External Secrets Operator unter OpenShift mit Vault-Backend ... 529

       9.8 ... Vault CSI Provider / Secrets Store CSI Driver ... 533

       9.9 ... Sealed Secrets (Bitnami) ... 539

10.  Argo Rollouts ... 547


       10.1 ... Update-Strategien für Pods im Überblick ... 547

       10.2 ... Fortgeschrittene Update-Verfahren mit Argo Rollouts ... 552

       10.3 ... Die Rollout-Ressourcen im Detail: Canary und Blue/Green ... 560

       10.4 ... Argo Rollouts: Hands-on ... 567

       10.5 ... Argo Rollouts unter OpenShift ... 579

       10.6 ... Argo-Experiments ... 593

11.  GitOps -- IaC: Kubernetes-Workload-Cluster mit der Cluster API ausrollen ... 595


       11.1 ... Die Cluster API ... 595

       11.2 ... CAPI und kubeadm, Alternativen ... 602

       11.3 ... Hands-on: Setup eines Workload-Clusters per CAPI unter GKE ... 608

       11.4 ... IaC mit CAPI und Argo ... 623

       11.5 ... Zusammenfassung der wichtigsten Schritte für Vollautomation ... 635

12.  GitOps -- IaC: Externe Infrastrukturen über Kubernetes mit Crossplane managen ... 637


       12.1 ... Von Cluster API zu Crossplane: Kubernetes als Universal-Controlplane ... 638

       12.2 ... Crossplane einrichten ... 647

       12.3 ... Crossplane-Demo ... 655

  Schlusswort ... 671

  Index ... 673


1    CI/CD und GitOps unter Kubernetes/OpenShift in Enterprise-Umgebungen


»Geschwindigkeit ist nur eine Frage des Geldes. Wie schnell willst du denn unterwegs sein?«
– aus »Mad Max«, 1979

Unternehmen stehen unter immer stärkerem Druck, Software schneller und zuverlässiger als je zuvor auszuliefern. Die Einführung von Containern und Cloud-nativen Plattformen wie Kubernetes hat Entwicklungs- und Betriebsabläufe grundlegend verändert.

Unternehmen, die die drei elementaren Säulen der Vollautomation unter Kubernetes/OpenShift für einen optimalen und kosteneffizienten Betrieb konsequent umsetzen, liegen im harten Wettbewerb klar vorne. Diese sind

  • IaC: Infrastructure as Code,

  • In-Cluster Automation mit Operatoren und

  • Operator-gestützte CI/CD- und GitOps-Systeme.

In einer Welt, in der Software-Updates oder gar die Erstellung kompletter Infrastrukturen in Stunden statt in Wochen erwartet werden, stoßen traditionelle, manuelle Prozesse an ihre Grenzen. Lange Release-Zyklen, aufwendige manuelle Tests und fehleranfällige Deployments führen zu Frustration – bei den Teams ebenso wie bei den Nutzern. Gleichzeitig steigt der Wettbewerbsdruck: Wer Innovationen schneller und stabiler bereitstellen kann, schafft einen klaren Marktvorteil. Diese Realität hat dazu geführt, dass DevOps-Praktiken inzwischen zum De-facto-Standard avanciert sind. Die Branche hat erkannt, dass umfassende Automatisierung im Software-Lifecycle kein Luxus mehr ist, sondern zur Überlebensfrage werden kann.

Dabei sind die Pain Points allzu bekannt: Viele IT-Abteilungen kämpfen noch immer mit langsamen Lieferprozessen, in denen vom Code-Commit bis zum Rollout Wochen vergehen. Häufig liegt das an aufeinanderfolgenden manuellen Schritten – vom Testen bis zur Freigabe –, die jeden Ablauf verzögern. Die Folgen spürt das gesamte Unternehmen: Fachabteilungen warten frustriert auf neue Features, während Wettbewerber vielleicht schon das nächste Update ausrollen. Ein anderer Schmerzpunkt ist die hohe Fehleranfälligkeit manueller Deployments. Ein vergessenes Konfigurationsflag oder ein Tippfehler in einem Skript – und schon schlägt ein Deployment fehl oder, schlimmer, es kommt zu Produktionsausfällen. Menschliches Versagen wird so zur alltäglichen Risikoquelle. Hinzu kommen Intransparenz und mangelnde Nachvollziehbarkeit: Ohne automatisierte Pipelines und zentrales Git-Tracking ist oft unklar, welche Version einer Anwendung gerade in welcher Umgebung läuft. Changes gehen in E-Mail-Fluten unter, und im Ernstfall fehlt der Überblick: Welche Änderungen könnten den Fehler verursacht haben? Wo liegt der aktuelle Stand der Deployments? Dieses Gefühl des Blindflugs zehrt an den Nerven der Teams und erschwert zugleich die Compliance. Denn wenn nicht eindeutig nachvollziehbar ist, was wann von wem geändert wurde, leidet auch die Sicherheit – ein Albtraum für jede Organisation, die strenge regulatorische Vorgaben einhalten muss.

Moderne CI/CD- und GitOps-Systeme treten an, um genau diese Probleme zu lösen. Sie versprechen nicht nur technische Verbesserungen, sondern auch eine tiefgreifende Veränderung der Arbeitskultur: Weg von isoliert arbeitenden Teams und manuellen Firefights, hin zu einer kollaborativen, durch Automation unterstützten Lieferkette:

  • Continuous Integration (CI) sorgt dafür, dass jeder Code-Änderungsschritt automatisch gebaut und getestet wird.

  • Continuous Delivery und Continuous Deployment (CD) stellen sicher, dass diese Änderungen reibungslos und jederzeit bis in die Produktion fließen können.

  • GitOps erweitert dieses Prinzip auf die Infrastruktur: Die gewünschte Systemkonfiguration wird in Git versioniert und automatisiert auf die laufenden Umgebungen angewendet. Und wenn eine Umgebung noch nicht vorhanden ist, wird sie per IaC automatisiert und mit minimalem Zeitaufwand jederzeit reproduzierbar erstellt.

Diese Ansätze emotionalisieren im positivsten Sinne – weil sie den Teams spürbar Last von den Schultern nehmen. Plötzlich wird Deployment vom Angstthema zur Routine. Eine Änderung am Freitagabend deployen? Mit einem zuverlässigen, automatisierten Pipeline-Prozess und vollautomatisierten Rollback-Verfahren im Fehlerfall verliert das seinen Schrecken. Die harte Grenze zwischen »Development« und »Operations« weicht auf; was bleibt, ist ein gemeinsames Verantwortungsgefühl für schnelle und stabile Auslieferung.

Der Impact einer solchen Transformation ist enorm: Zum einen beschleunigt sich die Liefergeschwindigkeit dramatisch. Durchgehende Automatisierung von Infrastruktur, Build, Test und Deployment ermöglicht es, Änderungen in Minuten statt Tagen bereitzustellen. Hochperformante Teams schaffen es heute, neue Code-Änderungen im Schnitt binnen weniger Stunden bis zur Produktionsreife zu bringen – herkömmliche Prozesse benötigen dafür deutlich mehr Zeit.

Diese drastische Verkürzung der Deployment-Zeiten bedeutet: Features und Fixes erreichen den Endnutzer schneller, Feedback fließt früher zurück, neue Versionen werden besser optimiert. Zum anderen steigt die Effizienz, denn automatisierte Pipelines arbeiten rund um die Uhr, ohne Pausen und ohne die Ermüdungsfehler, denen Menschen unterliegen. Aufgaben, die früher ganze Nächte verschlangen – etwa das Bauen von Release-Artifacts, das manuelle Durchführen von Testskripten oder das Ausrollen auf zig Umgebungen –, laufen nun im Hintergrund ab. Das Team kann sich auf wertschöpfende Tätigkeiten konzentrieren, anstatt sich mit lästiger Release-Administration aufzuhalten. Damit sinken nicht zuletzt die Betriebskosten: Weniger manuelle Nacharbeit, weniger Ausfallzeiten und ein schlankerer Prozess bedeuten, dass personelle Ressourcen effektiver eingesetzt werden können. Jede Automatisierungsstufe spart Zeit und Geld.

Automatisierung erhöht gleichzeitig die Zuverlässigkeit und Sicherheit der Abläufe. Standardisierte Pipeline-Schritte stellen sicher, dass jeder Build und jedes Deployment nach bewährten Mustern abläuft – immer gleich, reproduzierbar und nachvollziehbar. Überraschungen werden zur Ausnahme. Durch automatische Tests, Code-Qualitätsprüfungen und Sicherheits-Scans in jeder Pipeline-Stufe werden Fehler oder Schwachstellen frühzeitig erkannt und gestoppt, bevor sie in Produktion gelangen. Manuelle Fehlerquellen werden so gut wie eliminiert. Die Folge: Deployments schlagen deutlich seltener fehl, und die Recovery im Problemfall erfolgt schneller. Aktuelle Untersuchungen unterstreichen diesen Effekt deutlich – Teams, die konsequent moderne CI/CD-Werkzeuge einsetzen, erzielen in allen zentralen Kennzahlen der Software-Auslieferung bessere Ergebnisse (State of CI/CD Report 2024 – CD Foundation; https://cd.foundation/state-of-cicd-2024). Effizienz, Sicherheit und Skalierbarkeit steigen messbar an, wenn sich Prozesse end-to-end automatisieren lassen.

Auch die Change-Mentalität wandelt sich: Kleine, frequente Updates sind weniger riskant als große, eher seltene Big-Shifts. Wenn doch einmal etwas schiefgeht, betrifft es nur ein kleines Inkrement, das sich leichter beheben oder zurückrollen lässt. Dieses »Fail Fast, Recover Fast«-Prinzip führt zu einer neuen Fehlerkultur – Probleme werden als Chancen zur Verbesserung angesehen, nicht als Katastrophen.

Ein weiterer entscheidender Aspekt moderner Pipeline-Systeme ist die Compliance-Automatisierung. In Branchen mit strengen Vorgaben (von Datenschutz bis Finanzregularien) war die Einhaltung von Compliance früher oft ein lähmender Prozess: händische Checklisten, manuelle Abnahmen, Dokumentationsmarathons. Mit dem Aufkommen von Policy as Code und eingebetteten Compliance-Checks in CI/CD-Pipelines lässt sich dieser Aufwand drastisch reduzieren. Jede Änderung durchläuft automatisierte Prüfungen – seien es Security-Scans auf Container-Images, statische Code-Analysen auf Schwachstellen oder Überprüfungen von Infrastrukturdefinitionen gegen Unternehmensrichtlinien. Nichts gelangt mehr ungeprüft live. Die Pipeline fungiert als Gatekeeper, der nur konforme Artefakte durchwinkt. Das erhöht die Sicherheit enorm, ohne die Geschwindigkeit zu drosseln. Ganz im Gegenteil: Entwickler können schneller iterieren, weil sie wissen, dass die automatischen Kontrollen sie auffangen. Compliance wird vom Bremsklotz zum integralen, reibungslosen Teil des Workflows. Gleichzeitig entsteht eine lückenlose Audit-Historie – jedes Deployment und jede Konfigurationsänderung ist nachvollziehbar in Git dokumentiert. Für Entscheider bedeutet das: mehr Transparenz und Vertrauen, dass selbst bei hoher Release-Frequenz alle Vorgaben eingehalten werden.

Schließlich ermöglichen moderne DevOps- und GitOps-Ansätze den Sprung zu selbstheilenden Systemen. Besonders in containerisierten Umgebungen – allen voran Kubernetes – wird Infrastruktur zunehmend reaktiv und adaptiv. Fällt ein Dienst aus, startet die Orchestrierungsplattform ihn automatisch neu. Braucht eine Anwendung mehr Ressourcen, skaliert sie innerhalb von Sekunden hoch. Kombiniert man diese Fähigkeiten mit GitOps, entsteht ein System, das Abweichungen selbsttätig korrigiert. Ein Werkzeug wie Argo CD überwacht kontinuierlich den Soll-Zustand einer Applikation im Kubernetes-Cluster, der in Git hinterlegt ist. Stellt es fest, dass die laufende Umgebung vom definierten Zustand abweicht – sei es durch einen...


Liebel, Oliver
Dipl.-Ing. Oliver Liebel ist LPI-zertifizierter Linux-Enterprise-Experte undoffizieller Business Partner von SUSE und Red Hat. Als Dozent, Autor, Berater und Projektleiter ist er seit vielen Jahren für namhafte Unternehmen, internationale Konzerne und Institutionen auf Landes- und Bundesebene tätig. Dabei blickt er auf 25 Jahre Berufserfahrung zurück.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.