


Exemples de méthodes utilisées par ansible comme bibliothèque de modules python
ansible est un package python, un logiciel complet de décompression et de lecture. Les seules exigences pour le client sont ssh et python, et le package python-simplejson est installé. L'article suivant présente principalement des exemples de méthodes d'utilisation d'ansible comme bibliothèque de modules Python. Les amis dans le besoin peuvent s'y référer.
Avant-propos
ansible est un nouvel outil d'exploitation et de maintenance automatisée Il est développé sur la base de Python et intègre de nombreux outils d'exploitation et de maintenance (puppet. , cfengine, chef, func, fabric), il réalise des fonctions telles que la configuration du système par lots, le déploiement de programmes par lots et l'exécution par lots de commandes. Ansible fonctionne sur la base de modules et n'a pas la possibilité de se déployer par lots. Ce qui a vraiment un déploiement par lots, c'est le module exécuté par ansible, et ansible ne fournit qu'un cadre.
Comprend principalement :
(1) Plugins de connexion : responsables de la communication avec l'extrémité surveillée
(2) Inventaire de l'hôte : l'appareil d'exploitation spécifié ; host est l'hôte de surveillance défini dans un fichier de configuration ;
(3) Divers modules de base, modules de commande, modules personnalisés
(4) Utiliser des plug-ins ; pour exécuter des fonctions telles que l'enregistrement des e-mails du journal ;
(5) Playbook : lorsque le script exécute plusieurs tâches, le nœud peut exécuter plusieurs tâches à la fois si nécessaire.
Ansible est un très bon outil parmi les outils d'exploitation et de maintenance. Personnellement, je l'aime bien. Vous pouvez configurer le fichier yml de manière flexible en fonction de vos besoins pour répondre à différents besoins commerciaux. il est très facile de démarrer. Dans certains cas, vous devrez peut-être utiliser ansible comme composant de bibliothèque de python dans votre propre script. Le script d'aujourd'hui montrera comment ansible est combiné avec un script python, c'est-à-dire comment utiliser ansible dans. un script python. Nous nous déplions progressivement.
Regardez le premier exemple :
#!/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=(',', ': '))
Cet exemple nous montre comment pour exécuter des commandes système dans des scripts python via ansible Regardons le deuxième exemple et connectons-le à notre fichier yml.
Le contenu du fichier yml simple est le suivant :
- hosts: sample_group_name tasks: - name: just an uname command: uname -a
Le script python qui appelle le playbook est le suivant :
#!/usr/bin/python import ansible.runner import ansible.playbook import ansible.inventory from ansible import callbacks from ansible import utils import json ### setting up the inventory ## first of all, set up a host (or more) example_host = ansible.inventory.host.Host( name = '10.11.12.66', port = 22 ) # with its variables to modify the playbook example_host.set_variable( 'var', 'foo') ## secondly set up the group where the host(s) has to be added example_group = ansible.inventory.group.Group( name = 'sample_group_name' ) example_group.add_host(example_host) ## the last step is set up the invetory itself example_inventory = ansible.inventory.Inventory() example_inventory.add_group(example_group) example_inventory.subset('sample_group_name') # setting callbacks stats = callbacks.AggregateStats() playbook_cb = callbacks.PlaybookCallbacks(verbose=utils.VERBOSITY) runner_cb = callbacks.PlaybookRunnerCallbacks(stats, verbose=utils.VERBOSITY) # creating the playbook instance to run, based on "test.yml" file pb = ansible.playbook.PlayBook( playbook = "test.yml", stats = stats, callbacks = playbook_cb, runner_callbacks = runner_cb, inventory = example_inventory, check=True ) # running the playbook pr = pb.run() # print the summary of results for each host print json.dumps(pr, sort_keys=True, indent=4, separators=(',', ': '))
Pour plus d'articles sur la façon d'utiliser ansible comme bibliothèque de modules python, veuillez faire attention au site Web PHP chinois !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...
