Ansible

Inhaltsverzeichnis



  Materialien zum Buch ... 15

  Vorwort ... 17

  Über dieses Buch ... 19

  1.  Einführung und Installation ... 23

       1.1 ... Was ist Ansible? ... 23

       1.2 ... Was ist Ansible nicht? ... 25

       1.3 ... Setup/Laborumgebung ... 26

       1.4 ... Ansible-Installation auf dem Control Host ... 31

       1.5 ... Authentifizierung und Autorisierung auf den Target Hosts ... 34

       1.6 ... Einrichten der SSH-Public-Key-Authentifizierung ... 36

       1.7 ... Ein Ad-hoc-Test ohne jegliche Konfiguration ... 37

       1.8 ... Noch ein Hinweis zur Migration von älteren Versionen ... 39

  2.  Basiseinrichtung und erstes Inventory-Management ... 41

       2.1 ... Verzeichnisstruktur einrichten ... 41

       2.2 ... Grundkonfiguration (»ansible.cfg«) ... 42

       2.3 ... Erstellen und Verwalten eines statischen Inventorys ... 43

       2.4 ... Inventory-Aliase ... 46

       2.5 ... Jenseits von Ping ... 46

       2.6 ... Alternative Inventorys ... 50

  3.  Ad-hoc-Kommandos und Patterns ... 53

       3.1 ... Ad-hoc-Kommandos ... 53

       3.2 ... Use cases ... 55

       3.3 ... Idempotenz ... 56

       3.4 ... Interne Funktionsweise ... 57

       3.5 ... Die Ansible-Konsole ... 61

       3.6 ... Patterns zum Adressieren von Hosts ... 62

  4.  Die Konfigurations- und Serialisierungssprache YAML ... 63

       4.1 ... Syntax und Struktur ... 63

       4.2 ... YAML-Files editieren ... 63

       4.3 ... Listen und Maps ... 66

       4.4 ... Verschachtelte Strukturen ... 66

       4.5 ... Block-Ausdrücke ... 68

       4.6 ... Das Nichts in YAML ... 69

       4.7 ... Anchors und References ... 69

  5.  Playbooks und Tasks: die Grundlagen ... 71

       5.1 ... Hallo Ansible -- das allererste Playbook ... 71

       5.2 ... Formulierung von Tasks ... 74

       5.3 ... Beenden von Plays ... 76

       5.4 ... Der problematische Doppelpunkt ... 77

       5.5 ... Kommandoaufrufe mit den Modulen »command« und »shell« ... 78

       5.6 ... Fehler und Retry-Files ... 81

       5.7 ... Tags ... 84

       5.8 ... Das Kommando »ansible-playbook« ... 85

       5.9 ... Eine exemplarische Apache-Installation ... 86

       5.10 ... Handler: Tasks nur bei Changes durchführen ... 91

  6.  Playbooks und Tasks: fortgeschrittene Methoden ... 97

       6.1 ... Variablen ... 97

       6.2 ... Facts und implizite Variablen ... 106

       6.3 ... Bedingte Ausführung mit »when« ... 111

       6.4 ... Systemunterschiede ausgleichen -- wie denn jetzt? ... 113

       6.5 ... Jinja und Templates ... 120

       6.6 ... Schleifen ... 127

       6.7 ... Fehlerbehandlung mit »failed_when« und »ignore_errors« ... 137

       6.8 ... Blocks (und noch mal Fehlerbehandlung) ... 138

       6.9 ... Asynchrone Ausführung ... 140

       6.10 ... Lokale Tasks ... 141

       6.11 ... Lookup-Plugins ... 143

       6.12 ... Umgebungsvariablen setzen ... 145

  7.  Inventory-Management: fortgeschrittene Methoden ... 147

       7.1 ... Das Kommando »ansible-inventory« ... 147

       7.2 ... Verschachtelte Gruppen ... 148

       7.3 ... »On-the-fly«-Inventorys erstellen mit »add_host« ... 149

       7.4 ... Dynamische Gruppen mit »group_by« ... 151

       7.5 ... Dynamische bzw. externe Inventorys ... 153

       7.6 ... Inventory-Verzeichnisse ... 165

  8.  Modularisierung mit Rollen und Includes ... 167

       8.1 ... Erstellung und Verwendung von Rollen ... 167

       8.2 ... Ansible Galaxy ... 173

       8.3 ... Verwendung von Imports/Includes ... 174

       8.4 ... Noch mal Apache ... 175

       8.5 ... Dokumentation ... 179

  9.  Die Modul-Bibliothek ... 185

       9.1 ... Module zur Kommandoausführung ... 185

       9.2 ... Module zur Paketverwaltung ... 187

       9.3 ... Module zur Verwaltung von Dateien und Dateiinhalten ... 188

       9.4 ... Module für weitere typische Verwaltungsaufgaben ... 193

       9.5 ... Module zur Interaktion mit Netzwerk-Services ... 195

       9.6 ... Spezialmodule (Kontrollflusssteuerung etc.) ... 196

10.  Webinterfaces ... 201

       10.1 ... Vorbereitungen zum Betrieb ... 201

       10.2 ... Ansible Configuration Management Database (ansible-cmdb) ... 203

       10.3 ... Voraussetzungen für anspruchsvollere Anwendungen ... 205

       10.4 ... Ansible Tower/AWX ... 210

       10.5 ... Polemarch ... 213

       10.6 ... Jenkins ... 215

       10.7 ... Weitere, hier nicht näher betrachtete Möglichkeiten ... 218

       10.8 ... Laborumgebung: nicht mehr benötigte Anwendungen beenden ... 218

11.  Weitere Tools und Techniken ... 221

       11.1 ... Die Ansible-Vault ... 221

       11.2 ... Debugging und Troubleshooting ... 230

       11.3 ... Untersuchen von Konfigurationseinstellungen ... 244

       11.4 ... Playbooks beschleunigen mit Pipelining ... 244

       11.5 ... Die sprechende Kuh ... 245

       11.6 ... Ansible im Pull-Mode ... 246

12.  Ansible als Orchestrierungswerkzeug ... 251

       12.1 ... Administrierst du noch oder orchestrierst du schon? ... 251

       12.2 ... Ausflug in die Cloud: Vorbereitungen ... 252

       12.3 ... Erste Server in der Cloud ... 254

       12.4 ... Die Abarbeitungsreihenfolge beeinflussen ... 256

       12.5 ... Delegierung ... 264

       12.6 ... Ein komplexeres Beispiel ... 267

       12.7 ... Löschen von Workern ... 274

       12.8 ... Rolling-Updates ... 275

13.  Ansible und Docker ... 277

       13.1 ... Installation von Docker ... 277

       13.2 ... Docker-Module ... 279

       13.3 ... Eine Beispielanwendung ... 286

       13.4 ... Ansible und Docker Compose ... 290

       13.5 ... Erstellen von Images ... 295

14.  Windows-Hosts verwalten ... 303

       14.1 ... WinRM ... 303

       14.2 ... Vorbereitungen auf dem Control Host ... 304

       14.3 ... Voraussetzungen auf der Windows-Seite und WinRM-Setup ... 305

       14.4 ... Setup mit Active Directory/Kerberos ... 306

       14.5 ... WinRM-Troubleshooting ... 308

       14.6 ... Windows-Module ... 309

15.  Kochrezepte, Howtos und Best Practices ... 313

       15.1 ... Eine empfehlenswerte »ansible.cfg« ... 313

       15.2 ... Suche in einer Liste von Maps ... 314

       15.3 ... Erweiterung von Maps oder Listen während der Laufzeit ... 315

       15.4 ... Zufallspasswörter generieren ... 316

       15.5 ... Einfache Installer bauen ... 318

       15.6 ... IP-Adresse eines Target Hosts bestimmen ... 320

       15.7 ... firewalld managen (falls vorhanden) ... 323

       15.8 ... Linux-Software-Updates einspielen ... 324

       15.9 ... Ansible über einen Gateway- bzw. Jumphost ... 327

       15.10 ... Host-spezifische Ressourcen verwalten ... 328

16.  Eigene Module erstellen ... 331

       16.1 ... Erste Schritte ... 331

       16.2 ... Modul-Parameter ... 334

       16.3 ... Module in Python ... 337

17.  Callback-Plugins ... 345

       17.1 ... Stdout-Plugins ... 345

       17.2 ... Sonstige Plugins ... 351

       17.3 ... Entwickeln eigener Callback-Plugins ... 353

18.  Was könnte noch besser sein, bzw. was fehlt noch? ... 357

       18.1 ... Lang laufende Tasks verfolgen ... 357

       18.2 ... Abarbeitung einer Rolle beenden ... 358

       18.3 ... Schleifen über Blöcke ... 360

       18.4 ... Locking bei konkurrierenden Playbook-Aufrufen ... 361

       18.5 ... Fazit ... 363

  Anhang ... 365

       A ... SSH (Secure Shell) ... 367

       B ... Reguläre Ausdrücke ... 383

  Index ... 391

Ansible

Das Praxisbuch für Administratoren und DevOps-Teams

Buch (Gebundene Ausgabe)

39,90 € inkl. gesetzl. MwSt.

In der Filiale abholen

Filialabholung

Sie haben noch keine Filiale ausgewählt. Die Filialabholung ist versandkostenfrei.

Beschreibung

Wenn Sie auf Ihrer Serverfarm für Ordnung sorgen wollen, ist Ansible das Werkzeug der Wahl. Dieses Praxisbuch zeigt Ihnen, wie Sie das automatisierte Deployment Ihrer Dienste orchestrieren und so für standardisierte und dokumentierte Abläufe sorgen. Diese zentrale Konfiguration erleichtert Ihnen Betrieb und Skalierung, da Sie durch die konsequente Automatisierung Fehlerquellen reduzieren.

Aus dem Inhalt:

Basiseinrichtung und Inventory Management
Ad-hoc-Kommandos und Patterns
YAML: Die Konfigurations- und Serialisierungssprache
Playbooks, Tasks und Plays
Modularisierung mit Rollen und Includes
Die Modul-Bibliothek
Webinterfaces: Ansible AWX/Tower und mehr
Ansible und Docker
Callback Plugins
Beispielkonfigurationen und Best Practices

»Ein unverzichtbares Kompendium für alle, die sich in die Automatisierung mit Ansible einarbeiten wollen oder müssen.« LINUX MAGAZIN 202102

Axel Miesen ist zertifizierter Linux-Systemadministrator und Trainer. Seit 2001 hat er zahlreichen Schulungen zu Themen wie Linux-Shellscripting, Perl, Docker und Ansible durchgeführt.

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.09.2020

Verlag

Rheinwerk

Seitenzahl

395

Maße (L/B/H)

24,6/17,4/2,7 cm

Beschreibung

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.09.2020

Verlag

Rheinwerk

Seitenzahl

395

Maße (L/B/H)

24,6/17,4/2,7 cm

Gewicht

860 g

Auflage

1

Reihe

Rheinwerk Computing

Sprache

Deutsch

ISBN

978-3-8362-7660-3

Das meinen unsere Kund*innen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Kund*innenkonto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Unsere Kund*innen meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

  • Ansible


  •   Materialien zum Buch ... 15

      Vorwort ... 17

      Über dieses Buch ... 19

      1.  Einführung und Installation ... 23

           1.1 ... Was ist Ansible? ... 23

           1.2 ... Was ist Ansible nicht? ... 25

           1.3 ... Setup/Laborumgebung ... 26

           1.4 ... Ansible-Installation auf dem Control Host ... 31

           1.5 ... Authentifizierung und Autorisierung auf den Target Hosts ... 34

           1.6 ... Einrichten der SSH-Public-Key-Authentifizierung ... 36

           1.7 ... Ein Ad-hoc-Test ohne jegliche Konfiguration ... 37

           1.8 ... Noch ein Hinweis zur Migration von älteren Versionen ... 39

      2.  Basiseinrichtung und erstes Inventory-Management ... 41

           2.1 ... Verzeichnisstruktur einrichten ... 41

           2.2 ... Grundkonfiguration (»ansible.cfg«) ... 42

           2.3 ... Erstellen und Verwalten eines statischen Inventorys ... 43

           2.4 ... Inventory-Aliase ... 46

           2.5 ... Jenseits von Ping ... 46

           2.6 ... Alternative Inventorys ... 50

      3.  Ad-hoc-Kommandos und Patterns ... 53

           3.1 ... Ad-hoc-Kommandos ... 53

           3.2 ... Use cases ... 55

           3.3 ... Idempotenz ... 56

           3.4 ... Interne Funktionsweise ... 57

           3.5 ... Die Ansible-Konsole ... 61

           3.6 ... Patterns zum Adressieren von Hosts ... 62

      4.  Die Konfigurations- und Serialisierungssprache YAML ... 63

           4.1 ... Syntax und Struktur ... 63

           4.2 ... YAML-Files editieren ... 63

           4.3 ... Listen und Maps ... 66

           4.4 ... Verschachtelte Strukturen ... 66

           4.5 ... Block-Ausdrücke ... 68

           4.6 ... Das Nichts in YAML ... 69

           4.7 ... Anchors und References ... 69

      5.  Playbooks und Tasks: die Grundlagen ... 71

           5.1 ... Hallo Ansible -- das allererste Playbook ... 71

           5.2 ... Formulierung von Tasks ... 74

           5.3 ... Beenden von Plays ... 76

           5.4 ... Der problematische Doppelpunkt ... 77

           5.5 ... Kommandoaufrufe mit den Modulen »command« und »shell« ... 78

           5.6 ... Fehler und Retry-Files ... 81

           5.7 ... Tags ... 84

           5.8 ... Das Kommando »ansible-playbook« ... 85

           5.9 ... Eine exemplarische Apache-Installation ... 86

           5.10 ... Handler: Tasks nur bei Changes durchführen ... 91

      6.  Playbooks und Tasks: fortgeschrittene Methoden ... 97

           6.1 ... Variablen ... 97

           6.2 ... Facts und implizite Variablen ... 106

           6.3 ... Bedingte Ausführung mit »when« ... 111

           6.4 ... Systemunterschiede ausgleichen -- wie denn jetzt? ... 113

           6.5 ... Jinja und Templates ... 120

           6.6 ... Schleifen ... 127

           6.7 ... Fehlerbehandlung mit »failed_when« und »ignore_errors« ... 137

           6.8 ... Blocks (und noch mal Fehlerbehandlung) ... 138

           6.9 ... Asynchrone Ausführung ... 140

           6.10 ... Lokale Tasks ... 141

           6.11 ... Lookup-Plugins ... 143

           6.12 ... Umgebungsvariablen setzen ... 145

      7.  Inventory-Management: fortgeschrittene Methoden ... 147

           7.1 ... Das Kommando »ansible-inventory« ... 147

           7.2 ... Verschachtelte Gruppen ... 148

           7.3 ... »On-the-fly«-Inventorys erstellen mit »add_host« ... 149

           7.4 ... Dynamische Gruppen mit »group_by« ... 151

           7.5 ... Dynamische bzw. externe Inventorys ... 153

           7.6 ... Inventory-Verzeichnisse ... 165

      8.  Modularisierung mit Rollen und Includes ... 167

           8.1 ... Erstellung und Verwendung von Rollen ... 167

           8.2 ... Ansible Galaxy ... 173

           8.3 ... Verwendung von Imports/Includes ... 174

           8.4 ... Noch mal Apache ... 175

           8.5 ... Dokumentation ... 179

      9.  Die Modul-Bibliothek ... 185

           9.1 ... Module zur Kommandoausführung ... 185

           9.2 ... Module zur Paketverwaltung ... 187

           9.3 ... Module zur Verwaltung von Dateien und Dateiinhalten ... 188

           9.4 ... Module für weitere typische Verwaltungsaufgaben ... 193

           9.5 ... Module zur Interaktion mit Netzwerk-Services ... 195

           9.6 ... Spezialmodule (Kontrollflusssteuerung etc.) ... 196

    10.  Webinterfaces ... 201

           10.1 ... Vorbereitungen zum Betrieb ... 201

           10.2 ... Ansible Configuration Management Database (ansible-cmdb) ... 203

           10.3 ... Voraussetzungen für anspruchsvollere Anwendungen ... 205

           10.4 ... Ansible Tower/AWX ... 210

           10.5 ... Polemarch ... 213

           10.6 ... Jenkins ... 215

           10.7 ... Weitere, hier nicht näher betrachtete Möglichkeiten ... 218

           10.8 ... Laborumgebung: nicht mehr benötigte Anwendungen beenden ... 218

    11.  Weitere Tools und Techniken ... 221

           11.1 ... Die Ansible-Vault ... 221

           11.2 ... Debugging und Troubleshooting ... 230

           11.3 ... Untersuchen von Konfigurationseinstellungen ... 244

           11.4 ... Playbooks beschleunigen mit Pipelining ... 244

           11.5 ... Die sprechende Kuh ... 245

           11.6 ... Ansible im Pull-Mode ... 246

    12.  Ansible als Orchestrierungswerkzeug ... 251

           12.1 ... Administrierst du noch oder orchestrierst du schon? ... 251

           12.2 ... Ausflug in die Cloud: Vorbereitungen ... 252

           12.3 ... Erste Server in der Cloud ... 254

           12.4 ... Die Abarbeitungsreihenfolge beeinflussen ... 256

           12.5 ... Delegierung ... 264

           12.6 ... Ein komplexeres Beispiel ... 267

           12.7 ... Löschen von Workern ... 274

           12.8 ... Rolling-Updates ... 275

    13.  Ansible und Docker ... 277

           13.1 ... Installation von Docker ... 277

           13.2 ... Docker-Module ... 279

           13.3 ... Eine Beispielanwendung ... 286

           13.4 ... Ansible und Docker Compose ... 290

           13.5 ... Erstellen von Images ... 295

    14.  Windows-Hosts verwalten ... 303

           14.1 ... WinRM ... 303

           14.2 ... Vorbereitungen auf dem Control Host ... 304

           14.3 ... Voraussetzungen auf der Windows-Seite und WinRM-Setup ... 305

           14.4 ... Setup mit Active Directory/Kerberos ... 306

           14.5 ... WinRM-Troubleshooting ... 308

           14.6 ... Windows-Module ... 309

    15.  Kochrezepte, Howtos und Best Practices ... 313

           15.1 ... Eine empfehlenswerte »ansible.cfg« ... 313

           15.2 ... Suche in einer Liste von Maps ... 314

           15.3 ... Erweiterung von Maps oder Listen während der Laufzeit ... 315

           15.4 ... Zufallspasswörter generieren ... 316

           15.5 ... Einfache Installer bauen ... 318

           15.6 ... IP-Adresse eines Target Hosts bestimmen ... 320

           15.7 ... firewalld managen (falls vorhanden) ... 323

           15.8 ... Linux-Software-Updates einspielen ... 324

           15.9 ... Ansible über einen Gateway- bzw. Jumphost ... 327

           15.10 ... Host-spezifische Ressourcen verwalten ... 328

    16.  Eigene Module erstellen ... 331

           16.1 ... Erste Schritte ... 331

           16.2 ... Modul-Parameter ... 334

           16.3 ... Module in Python ... 337

    17.  Callback-Plugins ... 345

           17.1 ... Stdout-Plugins ... 345

           17.2 ... Sonstige Plugins ... 351

           17.3 ... Entwickeln eigener Callback-Plugins ... 353

    18.  Was könnte noch besser sein, bzw. was fehlt noch? ... 357

           18.1 ... Lang laufende Tasks verfolgen ... 357

           18.2 ... Abarbeitung einer Rolle beenden ... 358

           18.3 ... Schleifen über Blöcke ... 360

           18.4 ... Locking bei konkurrierenden Playbook-Aufrufen ... 361

           18.5 ... Fazit ... 363

      Anhang ... 365

           A ... SSH (Secure Shell) ... 367

           B ... Reguläre Ausdrücke ... 383

      Index ... 391