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-Zertifizierungsstellenfirewall
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