Rollen und Tasks in Ansible Tutorial Teil 3

Rollen und Tasks sind das Fundament der Automatisierung mit Ansible. Beides schauen wir uns in diesem Teil des Tutorials an.

Ansible Logo (Quelle: Von Ansible/Red Hat – Wikipedia)

Tasks

1Einführung
2Das Inventory
3Über Rollen und Tasks
4Die Module
5Playbooks
6Konfiguration
7gather_facts
8eigene Module

Ein Task beschreibt eine Abfolge von Modulen, die auf einem Managed Node ausgeführt werden sollen. Ein Task wird üblicherweise in einer YAML-Datei definiert. Am besten zeig ich dir das mal an einem Beispiel.Du kennst die Befehlskette zum Upgrade von Raspberry Pi OS

sudo apt update && sudo apt dist-upgrade -y

Diese würde als Ansible Task folgendermaßen aussehen:

- name: PIs aktualisieren
  become: true
  apt:
    upgrade: dist
    update_cache: yes
    cache_valid_time: 120
    autoremove: yes

Damit wird auf allen Managed Nodes das apt Modul ausgeführt. Dabei wird der Package Cache aktualisiert (update_cache: yes), sofern er älter als 2 Stunden ist ( cache_valid_time: 120). Der das Upgrade wird als dist-upgrade durchgeführt (upgrade: list) und nicht mehr benötigte Packages werden entfernt ( autoremove: yes). Zur Ausführung soll der Task sich zum root User machen (become: true). Ich empfehle dir, jedem Task einen eindeutigen Namen zu geben, spätestens, wenn ein Playbook mehrere Rollen einbindet, hast du dann eine bessere Kontrolle darüber, was das Playbook gerade abarbeitet.

Dieser Task kann jetzt aus beliebigen Rollen heraus ausgeführt werden.

Rollen

Rollen organisieren die Tasks und geben ihnen die Struktur, die für die (Wieder)Verwendbarkeit in Playbooks notwendig ist.

Für die Rollen benötigen wir ein Verzeichnis

mkdir roles

Für unseren Upgrade Task ober würden wir jetzt eine Rolle definieren. Wir nennen sie upgradepi und legen auch dafür ein eigenes Verzeichnis unterhalb von roles an

mkdir rotes/upgradepi

Jede Rolle hat ihr eigenes Verzeichnis und lassen sich so leicht voneinander trennen.

Rollen und Tasks bilden die Grundlagen für die Playbooks, mit deren Hilfe wir später automatisieren werden. Wenn du eigene Rollen und Tasks baust, solltest du dies immer mit Blick auf die Wiederverwendbarkeit machen und dir so Arbeit ersparen.

Rollen und Tasks verwenden

Wie du Rollen und Tasks verwenden kannst, zeig ich dir im übernächsten Kapitel. Im nächsten geht es zunächst mal um die Module.

Schreibe einen Kommentar

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner