Ansible AWX Quickstart

Credentials erstellen

Credentials werden für den Zugriff gebraucht, z. B. für

  • Importieren von Code (Gitlab etc.)
  • Zugriff auf verwaltete Clients (SSH-Schlüssel)
  • Entschlüsseln verschlüsselter Variablenwerte (Ansible Vault)

Inventories und Gruppen

Normale Inventories

Über Inventories wird bekannt gemacht, welche Systeme bekannt sind. Ein Inventory kann eine importierte Liste aus dem Satellite 6 sein, oder ein inventory.yaml aus einem Gitlab-Repo mit Ansible-Code.

Gruppen in einem inventory.yml werden mit importiert. Auf Satellite 6 basierende Inventories enthalten diverse Gruppen, die auf Host Groups, Host Collections etc. basieren.

Smart Inventories

Über Filter können dynamisch Hosts selektiert und in Smart Inventories zusammengefasst werden. Für Ansible sehen diese aus wie normale Inventories.

Projects

Idealerweise werden Ansible-Playbooks und -Rollen in einem Repository mit Versionskontrolle abgelegt (zb. Gitlab). Ein Project importiert ein solches Repository, ermittelt die Playbooks im obersten Verzeichnis und bietet sie in einem Template zur Auswahl an. Für geschützte Repositories ist ein Credential anzugeben. Projects können entweder auf den neuesten Stand (den letzten Commit) zugreifen oder auf einen bestimmten Commit. 

Es können beliebig viele Repos importiert werden. Von einem Project aus kann aber nicht auf Rollen aus einem anderen Project zugegriffen werden.

Templates

Templates sind die Grundlage für Jobs, Ausführungen von Playbooks. Sie fassen Inventories und Projects zusammen und definieren, was wer wie wann macht. Der Gtossteil der Einstellungen entpricht Optionen von Ansible.

Workflow Templates

Über eine grafische Konfiguration können Templates aneinander gereiht werden. So ist es möglich, Plays aus verschiedenen Repositories zusammen auszuführen.