Heim >Backend-Entwicklung >Python-Tutorial >Beispiele für Methoden, die von Ansible als Python-Modulbibliothek verwendet werden

Beispiele für Methoden, die von Ansible als Python-Modulbibliothek verwendet werden

高洛峰
高洛峰Original
2017-02-21 10:29:431863Durchsuche

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.

Ansible ist ein sehr gutes Tool unter den Betriebs- und Wartungstools. Sie können die YML-Datei flexibel entsprechend Ihren Anforderungen konfigurieren, da keine Installation eines Clients erforderlich ist. Der Einstieg ist sehr einfach. In einigen Fällen müssen Sie möglicherweise Ansible als Bibliothekskomponente in Ihr eigenes Skript schreiben. Das heutige Skript zeigt, wie Ansible mit einem Python-Skript kombiniert wird ein Python-Skript. Lassen Sie uns schrittweise entfalten.


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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn