GNU/Linux >> LINUX-Kenntnisse >  >> Linux

RHCE Ansible Series #9:Ansible-Rollen

Bisher haben Sie Ansible-Playbooks erstellt, um eine bestimmte Aufgabe auf Ihren verwalteten Knoten zu automatisieren. Es ist sehr wahrscheinlich, dass jemand anderes bereits eine Ansible-Lösung für das Problem/die Aufgabe entworfen hat, die Sie zu lösen versuchen, und genau darum geht es bei Ansible-Rollen.

In diesem Tutorial erfahren Sie, wie Rollen in Ansible strukturiert sind. Sie lernen auch, fertige Rollen von Ansible Galaxy zu verwenden.

Außerdem erfahren Sie, wie Sie Ihre eigenen benutzerdefinierten Ansible-Rollen erstellen.

Bevor Sie mit diesem Tutorial fortfahren, lesen Sie bitte andere Kapitel in der Ansible-Tutorial-Reihe, um die verschiedenen hier erwähnten Themen besser zu verstehen.

Ansible-Rollen verstehen

Eine Ansible-Rolle ist eine Sammlung von Dateien, Aufgaben, Vorlagen, Variablen und Handlern, die zusammen einem bestimmten Zweck dienen, z. B. der Konfiguration eines Dienstes. Mit Rollen können Sie Code einfach wiederverwenden und Ansible-Lösungen mit anderen Benutzern teilen, was die Arbeit mit großen Umgebungen einfacher macht.

Rollenverzeichnisstruktur

Eine typische Ansible-Rolle folgt einer definierten Verzeichnisstruktur, die normalerweise aus den folgenden Verzeichnissen besteht:

  1. Standard: Enthält Standardvariablen für die Rolle, die einfach überschrieben werden sollen.
  2. Variablen: Enthält Standardvariablen für die Rolle, die in Ihrem Playbook nicht überschrieben werden sollen.
  3. Aufgaben: Enthält eine Reihe von Aufgaben, die von der Rolle ausgeführt werden sollen.
  4. Handler: Enthält eine Reihe von Handlern, die in der Rolle verwendet werden sollen.
  5. Vorlagen: Enthält die in der Rolle zu verwendenden Jinja2-Vorlagen.
  6. Dateien: Enthält statische Dateien, die von den Rollenaufgaben benötigt werden.
  7. Tests: Kann eine optionale Inventardatei sowie test.yml enthalten Playbook, mit dem die Rolle getestet werden kann.
  8. meta: Enthält Rollenmetadaten wie Autoreninformationen, Lizenz, Abhängigkeiten usw.

Denken Sie daran, dass eine Rolle alle oben genannten Verzeichnisse oder nur eine Teilmenge davon haben kann. Tatsächlich können Sie eine leere Rolle definieren, die null Verzeichnisse hat, obwohl dies nicht nützlich ist!

Lesen Sie die ganze Geschichte

Der Rest des Artikels ist nur für LHB Pro-Mitglieder verfügbar. Sie können sich jetzt für 50 $ pro Jahr anmelden, um den Rest dieses Artikels zu lesen und KOSTENLOSEN Zugriff auf alle Beiträge, E-Books und Videokurse nur für Mitglieder zu erhalten.

AbonnierenSie haben bereits ein Konto?Melden Sie sich an
Linux
  1. 8 Schritte zur Entwicklung einer Ansible-Rolle in Linux

  2. RHCE Ansible Series #8:Verschlüsseln von Inhalten mit Ansible Vault

  3. RHCE Ansible Series #7:Jinja2-Vorlagen

  4. RHCE Ansible Series #6:Entscheidungsfindung in Ansible

  5. RHCE Ansible Series #5:Ansible Loops

Erläuterung der rollenbasierten Zugriffskontrolle (Role Based Access Control, RBAC) von Snowflake

Ansible-Rollen und ihre Verwendung in Playbooks

RHCE Ansible Series #2:Ausführen von Ad-hoc-Befehlen

RHCE Ansible Serie Nr. 1:Sag Hallo zu Ansible

RHCE Ansible Series #3:Ansible Playbooks

RHCE Ansible Series #12:Ansible-Fehlerbehebung