Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Titel
Impressum
Inhalt
Vorwort
1 Warum Terraform?
Was ist DevOps?
Was ist Infrastructure as Code?
Ad-hoc-Skripte
Konfigurationsmanagementtools
Server-Templating-Tools
Orchestrierungstools
Provisionierungstools
Was sind die Vorteile von Infrastructure as Code?
Wie arbeitet Terraform?
Wie verhält sich Terraform im Vergleich mit anderen IaC-Tools?
Konfigurationsmanagement versus Provisionierung
Veränderbare Infrastruktur versus immutable Infrastruktur
Prozedurale Sprache versus deklarative Sprache
Allzwecksprache versus domänenspezifische Sprache
Mit oder ohne Master
Mit oder ohne Agenten
Bezahlt versus kostenlos
Große versus kleine Community
Ausgereift versus topaktuell
Gemeinsamer Einsatz mehrerer Tools
Zusammenfassung
2 Einstieg in Terraform
Ihr AWS-Konto aufsetzen
Terraform installieren
Einen einzelnen Server deployen
Einen einzelnen Webserver deployen
Einen konfigurierbaren Webserver deployen
Ein Cluster mit Webservern deployen
Einen Load Balancer deployen
Aufräumen
Zusammenfassung
3 Wie Sie den Terraform-Status managen
Was ist der Terraform-Status?
Gemeinsamer Storage für Statusdateien
Einschränkungen bei Terraform-Backends
Statusdateien isolieren
Isolieren über Workspaces
Isolieren über das Dateilayout
Die Data Source terraform_remote_state
Zusammenfassung
4 Wie man wiederverwendbare Infrastruktur mit Terraform-Modulen erzeugt
Modulgrundlagen
Moduleingaben
Lokale Werte in Modulen
Modulausgaben
Fallstricke bei Modulen
Dateipfade
Inline-Blöcke
Versionierung von Modulen
Zusammenfassung
5 Tipps und Tricks zu Terraform: Schleifen, if-Anweisungen, Deployment und Fallstricke
Schleifen
Schleifen mit dem count-Parameter
Schleifen mit for_each-Ausdrücken
Schleifen mit for-Ausdrücken
Schleifen bei der String-Direktive
Bedingte Anweisungen
Bedingte Anweisungen mit dem count-Parameter
Bedingungen mit for_each und Ausdrücken
Bedingte Anweisungen mit der if-String-Direktive
Zero-Downtime-Deployment
Fallstricke bei Terraform
Einschränkungen bei count und for_each
Einschränkungen bei Zero-Downtime-Deployments
Gültige Pläne können fehlschlagen
Refaktorieren kann schwierig sein
Zusammenfassung
6 Secrets mit Terraform managen
Grundlagen des Secret-Managements
Tools für das Secret-Management
Arten von abzulegenden Secrets
Wege, Secrets abzulegen
Schnittstellen für den Zugriff auf Secrets
Vergleich verschiedener Secret-Management-Tools
Secret-Management-Tools in Terraform einsetzen
Provider
Ressourcen und Data Sources
Statusdateien und Plandateien
Zusammenfassung
7 Arbeiten mit mehreren Providern
Arbeiten mit einem Provider
Was ist ein Provider?
Wie installieren Sie Provider?
Wie nutzen Sie Provider?
Arbeiten mit mehreren Kopien des gleichen Providers
Mit mehreren AWS-Regionen arbeiten
Mit mehreren AWS-Konten arbeiten
Module erstellen, die mit mehreren Providern arbeiten können
Arbeiten mit mehreren verschiedenen Providern
Ein Crashkurs zu Docker
Ein Crashkurs zu Kubernetes
Docker-Container in AWS mit dem Elastic Kubernetes Service deployen
Zusammenfassung
8 Produktiv nutzbarer Terraform-Code
Warum dauert es so lange, dem Produktivbetrieb gewachsene Infrastruktur zu bauen?
Die Checkliste für produktiv nutzbare Infrastruktur
Dem Produktivbetrieb gewachsene Infrastrukturmodule
Kleine Module
Zusammensetzbare Module
Testbare Module
Versionierte Module
Module, die über Terraform hinausgehen
Zusammenfassung
9 Wie Sie Terraform-Code testen
Manuelle Tests
Grundlagen manueller Tests
Aufräumen nach dem Testen
Automatisierte Tests
Unit Tests
Integrationstests
End-to-End-Tests
Andere Testansätze
Zusammenfassung
10 Wie Sie Terraform im Team verwenden
Infrastructure as Code in Ihrem Team übernehmen
Überzeugen Sie Ihren Chef oder Ihre Chefin
Arbeiten Sie inkrementell
Geben Sie Ihrem Team Zeit zum Lernen
Ein Workflow für das Deployen von Anwendungscode
Versionsverwaltung verwenden
Code lokal ausführen
Coding-Änderungen vornehmen
Änderungen zum Reviewen einchecken
Automatisierte Tests ausführen
Mergen und Releasen
Deployen
Ein Workflow für das Deployen von Infrastrukturcode
Versionsverwaltung verwenden
Code lokal ausführen
Coding-Änderungen vornehmen
Änderungen zum Reviewen einchecken
Automatisierte Tests ausführen
Mergen und Releasen
Deployen
Alles zusammenbringen
Zusammenfassung
Anhang: Empfehlenswerte Lektüre
Fußnoten
Index
Über den Autor
Kolophon
← Prev
Back
Next →
← Prev
Back
Next →