nouvelles
Serverspace Technologies aux Emirats Arabes Unis : Lancement de Falconcloud
WB
Le 4 juin 2020
Mise à jour en juin 7, 2023

Utiliser des playbooks Ansible

Ansible

Les instructions décrivent l'application et fonctionnent avec Ansible Playbook, ainsi qu'un bref aperçu de leur structure.

Que sont les playbooks Ansible ?

Le playbook dans Ansible définit une série de certaines actions à effectuer et s'adresse à un ensemble spécifique de serveurs. Contrairement à certains autres outils de paramétrage, le Playbook ne décrit pas l'état de la machine, et Ansible détermine indépendamment toutes les modifications à apporter. Cependant, les playbooks doivent être conçus comme des idempotents, ce qui signifie qu'ils peuvent être lancés plus d'une fois sans conséquences négatives.

Souvent, les playbooks sont utilisés pour effectuer la configuration initiale des serveurs - ajouter des utilisateurs et des répertoires, gérer des packages logiciels et des fichiers.

Le livre de jeu est un fichier YAML , qui a généralement la structure suivante :

--- - hôtes : [hôtes cibles] utilisateur_distant : [votrenom] tâches : - [tâche 1] - [tâche 2]

Par exemple, le playbook suivant sera inclus sur tous les serveurs du groupe de serveurs marketing et garantira que le Apache le serveur web démarre :

--- - hôtes : [marketingservers] utilisateur_distant : tâches d'administration Web : - nom : assurez-vous que Apache le démon a démarré le service : nom=httpd état=démarré devenu : oui devenu_méthode : sudo

Dans le playbook ci-dessus se trouve un exemple de tâche :

tâches : - nom : Assurer la Apache le démon a démarré le service : nom=httpd état=démarré devenu : oui devenu_méthode : sudo

Chaque tâche doit avoir un nom qui est ensuite enregistré et peut aider à suivre les progrès. Après la ligne de nom se trouve le module qui sera lancé, dans ce cas, il s'agit d'un module de service. D'autres attributs permettent plus d'options ; dans l'exemple Ansible, les privilèges sudo sont autorisés.

Lancer Ansible Playbook

Vous pouvez lancer un playbook prêt à l'emploi à l'aide de la commande suivante :

ansible-playbook playbook.yml

Par exemple :

ansible-playbook nginx.yml

Cependant, si vous devez filtrer la liste des hôtes afin que le script ne s'applique qu'à un seul de ces hôtes, vous pouvez ajouter un indicateur et spécifier un sous-ensemble d'hôtes dans le fichier :

ansible-playbook -l host_subset playbook.yml

Par exemple :

ansible-playbook -l host3 nginx.yml

Enregistrement des résultats

Lorsque vous installez et configurez des services manuellement, il est presque toujours nécessaire de connaître le résultat des actions. Vous pouvez configurer cette fonctionnalité en vous inscrivant.

Pour chaque tâche, si on le souhaite, il est possible d'enregistrer son résultat (échec ou succès) dans une variable, qui pourra être vérifiée ultérieurement. Lors de l'utilisation de cette fonctionnalité, il est recommandé de demander à Ansible d'ignorer les erreurs pour une telle tâche, car le playbook est généralement interrompu en cas de problème.

Ainsi, si vous devez vérifier si la tâche est terminée ou non et décider des prochaines étapes, vous devez utiliser la fonctionnalité d'enregistrement.

Par exemple, spécifiez playbook pour télécharger un fichier index.php s'il existe. Si cette tâche ne se termine pas, le téléchargement du fichier index.html commencera :

--- - hosts : droplets tâches : - name : Installs nginx serveur web apt : pkg=nginx state=installed update_cache=true notifier : - démarrer nginx

    - nom : Téléchargez l'index.php par défaut pour la copie de l'hôte : src=static_files/index.php dest=/usr/share/nginx/www/ mode=0644 registre : php ignore_errors : Vrai - nom : Supprimer index.html pour la commande hôte : rm /usr/share/nginx/www/index.html quand : php|success - name : Téléchargez l'index.html par défaut pour la copie de l'hôte : src=static_files/index.html dest=/usr/share/nginx/www/ mode=0644 quand : php|failed handlers : - nom : start nginx
      service : nom=nginx état=démarré

Ce script essaie de télécharger un fichier PHP sur l'hôte. Ansible enregistre le succès d'une opération dans une variable appelée php. Si cette opération réussit, la tâche suivante consiste à supprimer le fichier index.html. Si l'opération a échoué, le fichier index.html sera chargé.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies ainsi que Politique de confidentialité.