Ansible

Das Praxisbuch für Administratoren und DevOps-Teams

(Autor)

Buch | Hardcover
395 Seiten
2020 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-7660-3 (ISBN)
39,90 inkl. MwSt
zur Neuauflage
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
  • Von den Grundlagen zum orchestrierten Deployment
  • Playbooks und Rollen entwickeln
  • Best Practices zur Konfigurationsverwaltung, Docker-Integration, Modularisierung und zum Inventory Management

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.

Let's play
Playbooks, Module und Rollen sind die Herzstücke von Ansible. Hier lernen Sie, wie Sie Aufgaben in strukturierten Playbooks ablegen und damit komplexe Deployments meistern.

Playbooks für strukturierte Deployments
Mit den Best Practices aus diesem Leitfaden erstellen Sie die idealen Playbooks für Ihre Infrastruktur. Oder Sie nehmen die Beispiele aus der Ansible Galaxy als Grundlage und prüfen, wie sich diese Vorlagen am besten auf Ihre Anforderungen anpassen lassen.

Von den Grundlagen bis zur Praxis
Von den Unterschieden der deklarativen und imperativen Konfigurationsverwaltung bis zur Einrichtung der Webinterfaces hält dieses Handbuch alle Hintergrundinformationen für Sie bereit, die Sie für die Arbeit mit Ansible brauchen.

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

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.




  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

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Informatik Betriebssysteme / Server Virtualisierung
Mathematik / Informatik Informatik Netzwerke
Schlagworte Administration • Admins • Automatisierung • Cent-OS RHEL • CentOS RHEL • Chef Salt • Cloud-Server • Container • Continious Development • Delivery • Hand-Buch Wissen lernen Tipps Tutorials Workshops • Hand-Buch Wissen lernen Tipps Tutorials Workshops Seminare Ausbildung Studium Kurse Bücher • Linux • Provisionierung • Storage
ISBN-10 3-8362-7660-7 / 3836276607
ISBN-13 978-3-8362-7660-3 / 9783836276603
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich