Heim >Backend-Entwicklung >Python-Tutorial >Beispiele für Methoden, die von Ansible als Python-Modulbibliothek verwendet werden
ansible ist ein Python-Paket, eine vollständige Entpack- und Wiedergabesoftware. Die einzigen Anforderungen für den Client sind SSH und Python, und das Python-Simplejson-Paket ist unglaublich einfach. Im folgenden Artikel werden hauptsächlich Beispiele für die Verwendung von Ansible als Python-Modulbibliothek vorgestellt.
Vorwort
ansible ist ein neues automatisiertes Betriebs- und Wartungstool. Es wurde auf Basis von Python entwickelt und integriert viele Betriebs- und Wartungstools (Puppe). , cfengine, chef, func, fabric) realisiert es Funktionen wie die Batch-Systemkonfiguration, die Batch-Programmbereitstellung und die Batch-Ausführung von Befehlen. Ansible arbeitet modulbasiert und bietet keine Möglichkeit zur stapelweisen Bereitstellung. Was wirklich eine Batch-Bereitstellung bietet, ist das von Ansible ausgeführte Modul, und Ansible stellt nur ein Framework bereit.
Enthält hauptsächlich:
(1) Verbindungs-Plugins: verantwortlich für die Kommunikation mit dem überwachten Ende
(2) Host-Inventar: Der angegebene Betrieb Host ist der in einer Konfigurationsdatei definierte Überwachungshost. (3) Verschiedene Module, Kernmodule, benutzerdefinierte Module um Funktionen wie das Aufzeichnen von Protokoll-E-Mails auszuführen;
(5) Playbook: Wenn das Skript mehrere Aufgaben ausführt, kann der Knoten bei Bedarf mehrere Aufgaben gleichzeitig ausführen.
Sehen Sie sich das erste Beispiel an:
Dieses Beispiel zeigt uns, wie Um Systembefehle in Python-Skripten über Ansible auszuführen, schauen wir uns das zweite Beispiel an und verbinden es mit unserer YML-Datei.
#!/usr/bin/python import ansible.runner import ansible.playbook import ansible.inventory from ansible import callbacks from ansible import utils import json # the fastest way to set up the inventory # hosts list hosts = ["10.11.12.66"] # set up the inventory, if no group is defined then 'all' group is used by default example_inventory = ansible.inventory.Inventory(hosts) pm = ansible.runner.Runner( module_name = 'command', module_args = 'uname -a', timeout = 5, inventory = example_inventory, subset = 'all' # name of the hosts group ) out = pm.run() print json.dumps(out, sort_keys=True, indent=4, separators=(',', ': '))Der Inhalt der einfachen YML-Datei lautet wie folgt:
Das Python-Skript Der Aufruf des Playbooks lautet wie folgt:
- hosts: sample_group_name tasks: - name: just an uname command: uname -a
Weitere verwandte Artikel zur Verwendung von Ansible als Python-Modulbibliothek finden Sie hier zur chinesischen PHP-Website!