Nachdem wir uns bereits eingehend mit den Grundlagen und auch schon das benötigte Programmpaket auf unserer Admin-Workstation zur Orchestrierung installiert haben, werden wir uns nun ein paar Beispiele ansehen, wie man sich das Leben mit Ansible-Playbooks leichter gestalten kann.
In den beiden Kapiteln Playbooks und YAML - was ist das? hatten wir uns schon eingehend mit den Hintergrundinformationen zu diesen beiden Themenblöcken beschäftigt, so dass wir uns nun mit unsere Playbooks beschäftigen können.
Doch Achtung: Es zeigt sehr anschaulich, dass es keine gute Idee sein kann, Passworte und ähnliches direkt in einem Playbook und/oder Inventory unverschlüsselt vorzuhalten - kann doch so jeder, der Zugriff auf das Playbook/Inventory hat, unberechtigter Weise Kenntnis von vertraulichen Informationen erlangen!
wheel
beim Ausführen von Befehlen, die root-Berechtigungen erfordern, ihr Passwort eingeben müssen. %wheel ALL=(ALL) ALL
gesetzt ist. WICHTIG: Auch hier gilt die Warnung aus Beispiel 1: Es zeigt sehr anschaulich, dass es definitiv keine gute Idee ist, Passworte und Schlüsselmaterial direkt in einem Playbook und/oder Inventory unverschlüsselt vor zuhalten. Dies gilt um so mehr, wenn man seine Ansible bei GitHub oder GitLab vorhält! Jeder der dort Zugriff auf die Repositories hat, gelangt so ohne grosse Mühe an vertraulichen Informationen!
nausch.org.repo
für das Repository repo.nausch.org auf alle unsere definierten CentOS-Hosts kopieren. Dabei müssen wir natürlich beachten, dass sich die Datei zwischen den Versionen CentOS 7 und CentOS 8 unterscheiden, wenn auch nur geringfügig!
Dieses Beispiel zeigt sehr schlüssig, dass das „Ver-template'n“ einer Konfigirationsdatei nur bedingt geeignet ist, komplexe Daemon zu konfigurieren. Ein Daemon wie chrony
wie in diesem Beispiel mit drei Optionen mag noch handelbar sein, aber z.B. einen Postfix-MTA1) so konfigurieren zu wollen, kann dann mit mehreren Hunderten Optionen schnell zu einem nervenaufreibenden Unterfangen ausarten!