gwerlas.system
Basisystem
Basis Einstellungen für Linux-Systeme.
Das Ausführen von Rollen in Containern ist nicht üblich, wird jedoch in diesem Fall für Ansible-Tests mit Molecule unterstützt. In diesem Fall wird nur der Cache des Paketmanagers konfiguriert und bei Bedarf aktualisiert. Die anderen Systemkomponenten werden nicht verwaltet, da dies die Verantwortung der Container-Engine ist.
GitLab-Projekt: yoanncolin/ansible/roles/system
Anforderungen
Diese Rolle wurde für die Ausführung als Nicht-Root-Benutzer geschrieben, daher muss Sudo installiert und konfiguriert sein.
Für die Netzwerkkonfiguration wird das netaddr Python-Paket benötigt. Außerdem benötigen Sie das ansible.utils Ansible-Modul.
Für die Verwaltung von Dateisystemen ist das jmespath Python-Paket erforderlich. Außerdem benötigen Sie die Ansible-Module community.general und ansible.posix.
Fakten
Definierte Fakten dieser Rolle:
- system_packages
- system_shells
- system_sudo_version
Siehe die [Fakten][]-Dokumentation für weitere Details.
Tags
Da einige Werte auf mehrere Aufgaben verteilt sind, können Sie einige von ihnen schnell mit Tags aktualisieren:
- ca- SSL-Zertifizierungsstellen
- firewall
- hosts- Aktualisieren der Datei- /etc/hosts
- networks
- packages
- proxies
- storages
- sudoers
- time
- users
Verwendung:
ansible-playbook -t tag1[,tag2[,...]] my_play.yml
Aufgaben
Systemkomponenten werden über separate Aufgaben verwaltet, die unabhängig aufgerufen werden können.
Natürlich werden alle Aufgaben in der main.yml aufgerufen. Siehe die Dokumentation jeder Aufgabe:
Rollenvariablen
Merkmale ein-/ausblenden
Siehe defaults/main/feature-flipping.yml.
Aktivieren/deaktivieren Sie einige Funktionen, indem Sie sie auf true/false setzen.
Gemeinsame Variablen
Siehe defaults/main/shared.yml.
system_bin_path: /usr/local/bin
system_profile: server
system_retries: 2
Einige Distributionen bieten keine Kommandozeile, um leicht zu sehen, ob ein Neustart erforderlich ist oder ob der Paketcache veraltet ist. Daher haben wir Skripte dafür bereitgestellt.
Sie können den Speicherort dieser Skripte über den system_bin_path ändern.
Das system_profile kann das Verhalten einiger Teile des Systems beeinflussen, z. B. die zu installierenden (oder nicht zu installierenden) Pakete.
Wenn Sie bei der Installation Netzwerkprobleme haben, können Sie den Wert von system_retries erhöhen.
Abhängigkeiten
Ein erreichbares Linux-System mit installiertem Python.
Beispiel-Playbook
Erste Bereitstellung oder Upgrade der Distribution, 10%-schrittweises Update:
---
- name: Schrittweises Update
  hosts: all
  serial: 10%
  roles:
    - role: gwerlas.system
      vars:
        system_packages_upgrade: true
Verwendung nur einer Aufgabe:
---
- name: Paketmanager
  hosts: all
  tasks:
    - name: Paketmanager bereit machen
      ansible.builtin.import_role:
        name: gwerlas.system
        tasks_from: package-managers
Lizenz
ansible-galaxy install gwerlas.system