gwerlas.system

Basisystem

Pipeline-Status

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

BSD 3-Klausel Lizenz.

Über das Projekt

Linux systems management

Installieren
ansible-galaxy install gwerlas.system
GitHub Repository
Lizenz
bsd-3-clause
Downloads
5.6k
Besitzer
DevOps Engineer