Terraform

das Praxisbuch für DevOps-Teams und Administratoren
Buch | Hardcover
500 Seiten
2023 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-8913-9 (ISBN)
39,90 inkl. MwSt
  • Cloud-Umgebungen automatisiert erstellen und verwalten
  • Know-how und Best Practices für IaC-Projekte
  • Konfigurationsverwaltung und State, Sicherheit, Deployment und Day-2-Operations
  • Praktische Beispiele für AWS, Azure, GCP, libvirt, OpenStack und VMware

Mit Terraform errichten Sie komplexe Infrastrukturen automatisiert in der Cloud und orchestrieren Deployments, die genau Ihren Anforderungen entsprechen.

Tim Beermann, Johannes Kastl, Christian Rost, Thorsten Schifferdecker und Eike Waldt zeigen Ihnen, wie Sie Deployments verwalten, Ressourcen mit HCL skripten und den State Ihres Setups verwalten.

So gerüstet entwerfen Sie wiederverwendbaren Code, vermeiden Fallstricke und schaffen einen komfortablen Arbeitsweg zur Verwaltung Ihrer Cloud-Landschaften.

Infrastructure as Code
Der Schlüssel für einen entspannten Admin-Alltag sind maschinenlesbare und reproduzierbare Konfigurationen, mit denen Setups automatisiert orchestriert werden. Wie Sie Zeit, Geld und Nerven beim Betrieb von Cloud-Infrastrukturen sparen, zeigen Ihnen die Hinweise und Beispiele aus diesem Leitfaden.

Automatisieren und dokumentieren
Wollen Sie jeden einzelnen Ihrer Server per Hand konfigurieren? Sich einen individuellen Hostnamen ausdenken und die Festplatte ausschrauben, wenn der Platz knapp wird? Natürlich nicht! Das Team von B1 Systems und OSISM begleitet Sie auf dem Weg zu einer automatisierten und gut dokumentierten Umgebung, in der Änderungen transparent per Code organisiert werden.

Praxisszenarien für reibungslose Deployments
In einer modernen CI/CD-Pipeline müssen viele Tools zusammenspielen. Zahlreiche Praxisbeispiele und Deployment-Szenarien dienen Ihnen als Vorlage für eigene Projekte, in denen Ressourcen in der Cloud verwaltet werden.

Aus dem Inhalt:
Infrastructure as Code
Was ist Terraform?
Installation und alle Grundlagen
Provider: Konfiguration und Beispiel-Setups
State – Der Zustand der Umgebung
Variablen und Datenquellen
HCL: Terraform programmieren
Updates und Day-2-Operations
Terragrunt und weitere Tools
Best Practices: Terraform richtig nutzen
Multi-Cloud-Deployments

Tim Beermann ist seit frühester Jugend begeisterter Linuxadministrator. Während seiner Laufbahn hat er ein ERP-System mitentwickelt und Serverlandschaften sowie Cloudumgebungen betreut.

Johannes Kastl ist seit frühen SUSE-Tagen begeisterter Linuxnutzer. Er war mehrere Jahre in der Administration einer großen privaten Cloud-Landschaft tätig, unter anderem als Administrator, technischer Product Owner, Scrum Master und Teamkoordinator.

Christian Rost begleitet und verantwortet große und kleine Projekte im Container- und Kubernetesumfeld, plant und baut Logging- und Monitoringlösungen mit Elasticstack und steht für das ein oder andere ownCloud-Projekt zur Verfügung.

Thorsten Schifferdecker ist seit mehr als 20 Jahren begeisterter Linuxnutzer und in der IT als Architekt tätig.

Eike Waldt hat während seiner Laufbahn viele SUSE- und SAP-Projekte begleitet und geleitet. Innerhalb dieser Projekte entwarf er komplexe Mechanismen zur Verwaltung von gewachsenen Landschaften und strukturierte gewachsene Code-Sammlungen mittels DevOps und CI.


Materialien zum Buch ... 12
1. Einleitung ... 13

1.1 ... Gliederung ... 13
1.2 ... Voraussetzungen für das Arbeiten mit Terraform ... 16
1.3 ... Zu den Autoren dieses Werks ... 17

2. Was ist Terraform? ... 21

2.1 ... Cloud Computing und seine Auswirkungen ... 21
2.2 ... Das Prinzip Infrastructure as Code ... 22
2.3 ... Terraform, seine Geschichte und seine Funktionsweise ... 23
2.4 ... Wie funktioniert die Cloud? ... 24
2.5 ... Ansible, Chef, Salt, Puppet, Terraform -- welches Werkzeug für welche Aufgabe? ... 26

3. Erste Schritte mit Terraform ... 29

3.1 ... Installation von Terraform ... 29
3.2 ... Schnelleinstieg: Ein typischer Terraform-Workflow ... 40
3.3 ... Konventionen für Dateinamen und Unterordner ... 53
3.4 ... Ordnerstruktur ... 56

4. Provider ... 57

4.1 ... Provider finden und installieren ... 57
4.2 ... Konfiguration und Authentifizierung ... 66
4.3 ... Szenarien: So deployen Sie Terraform ... 68

5. State -- der Zustand der Umgebung ... 185

5.1 ... Interaktion mit dem State ... 187
5.2 ... Format ... 189
5.3 ... Speicherort des State ... 190
5.4 ... State durch Locking verriegeln ... 208
5.5 ... Sicherheit ... 210

6. Variablen und Datenquellen ... 213

6.1 ... Was sind Variablen? ... 214
6.2 ... Eingabevariablen setzen und verwenden ... 214
6.3 ... Ausgabewerte (Outputs) ... 238
6.4 ... Lokale Variablen oder Werte ... 241
6.5 ... Datenquellen (Data Sources) ... 243
6.6 ... Interne Werte und Block-lokale Werte ... 247

7. Terraform programmieren -- die Sprache HCL ... 255

7.1 ... Logikfunktionen ... 255
7.2 ... Provisioner als Schnittstellen zum Konfigurationsmanagement ... 268
7.3 ... Abhängigkeiten verwalten ... 290
7.4 ... Arbeiten mit Terraform-Modulen ... 295
7.5 ... Deployments versionieren ... 304
7.6 ... Code modularisieren und strukturieren: Best Practices für Terraform ... 309
7.7 ... Funktionen ... 315
7.8 ... Ausdrücke und Expressions ... 332
7.9 ... Nützliche Funktionen und Beispiele ... 338

8. Updates und Day 2 Operations ... 353

8.1 ... Backup, Backup, Backup ... 353
8.2 ... Überprüfung und automatische Qualitätskontrollen für Terraform-Code ... 354
8.3 ... Mit Terraform arbeiten ... 355
8.4 ... Überwachung (Monitoring) der Umgebung ... 355
8.5 ... Updates und Änderungen einspielen ... 359
8.6 ... Lifecycle-Management mit Terraform ... 369
8.7 ... Day 2 Operations für Terraform ... 379

9. Erfahrungswerte, Tipps und Tricks ... 387

9.1 ... Versionsverwaltung nutzen ... 387
9.2 ... Remote Backends nutzen ... 390
9.3 ... Terraform-Code strukturieren durch Nutzung von Modulen ... 390
9.4 ... Terraform-Code und Repository logisch strukturieren ... 398
9.5 ... Terraform-Code prüfen, kontrollieren und testen ... 404
9.6 ... Variablen mit Standardwert null ... 411
9.7 ... Zugriff auf geschachtelte Listen ... 412

10. Vorgefertigtes Beispiel ... 415

10.1 ... Szenario ... 415
10.2 ... Vorbereitung ... 416
10.3 ... Das Deployment ... 419

11. Ausblick ... 423

11.1 ... Automate the Automation ... 423
11.2 ... Terraform Cloud und Enterprise ... 425
11.3 ... Terragrunt, Timon und weitere Tools ... 437
11.4 ... Cloud Development Kit Terraform (CDKTF) ... 442

12. Kommandoreferenz ... 445

12.1 ... Allgemeine Parameter ... 445
12.2 ... Wichtige Befehle ... 446
12.3 ... Weniger häufig verwendete Befehle ... 458
12.4 ... Konfigurationsoptionen für die Terraform-CLI (alias Terraform Settings) ... 485

Index ... 491

Erscheinungsdatum
Zusatzinfo Illustrationen
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Netzwerke
Mathematik / Informatik Informatik Software Entwicklung
Schlagworte Azure AWS • Cloud-native • Code-Tool • Dev-Ops Administration • Einführung • Gitops Deployment • Hand-Buch Tutorial Lernen • Hashicorp • HCl • IaC-Software • Infrastructure as code • Infrastrukturen • Schnittstelle Provider • Softwareentwicklung • Terraform-Module • Terragrunt • Wissen Anleitung
ISBN-10 3-8362-8913-X / 383628913X
ISBN-13 978-3-8362-8913-9 / 9783836289139
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich