Fermer

juillet 29, 2021

Une brève introduction à Ansible


Revenons à l'ère de l'informatique réseau et système où le déploiement et la gestion des serveurs étaient des tâches intimidantes pour les entreprises. Ensuite, seul l'administrateur système était responsable de l'installation du logiciel, de la gestion des paramètres et de tous les autres services d'administration manuellement sur divers serveurs. Il était presque impossible de gérer les charges de travail manuellement et il fallait toujours déployer des efforts supplémentaires pour terminer les tâches.

Pour surmonter ces opérations répétitives, complexes et fastidieuses, Ansibleun moteur d'automatisation informatique, a été créé. . Il utilise un langage de configuration YAML simple, facile à apprendre et à comprendre.

Michael DeHaanle créateur d'Ansible Work, avait déjà beaucoup d'expérience avec d'autres outils de gestion de configuration lorsqu'il a décidé de développer un nouveau. Il a dit qu'il voulait « un outil que vous ne pourriez pas utiliser pendant six mois, revenez et rappelez-vous encore ».

Comment fonctionne Ansible

Comprendre Ansible

Ansible peut prendre en charge un ou plusieurs nœuds, qui sont des ordinateurs qui se connectent au « nœud maître » qui doit être installé avec le package Ansible. Le fonctionnement d'Ansible consiste à se connecter à vos nœuds esclaves, un ordinateur connecté au centre de contrôle Ansible, et à leur envoyer de petits programmes, appelés "modules ansible". Ces programmes sont écrits pour être des modèles de ressources de l'état souhaité du système. Ansible exécute ensuite ces modules, via Secure Shell (SSH) par défaut, et les supprime une fois terminé, la seule chose dont nous avons besoin pour nous assurer que le nœud maître doit pouvoir accéder aux esclaves via un port SSH et doit avoir l'accès requis pour terminer le tâches.

Ce qu'il faut comprendre : prérequis

Avant de suivre ce didacticiel, vous aurez besoin :

  • Ansible 2.10 (ou version ultérieure) installé
  • Un ou plusieurs périphériques réseau compatibles avec Ansible
  • Connaissance de base de la ligne de commande Linux
  • Connaissance de base de la configuration du commutateur réseau et du routeur

Ensuite, installez Ansible en utilisant votre méthode préférée.

Une fois l'installation terminée, confirmez la version de l'Ansible en utilisant la commande ci-dessous dans votre terminal :

Créons maintenant notre premier fichier d'inventaire où nous stockons les informations des nœuds esclaves/gérés avec les commandes suivantes :

  • mkdir -pv /root/ansible_sample_project
  • cd/ racine/ansi ble_sample_project
  • vim inventaire.txt
    • A présent, ajoutez la ligne ci-dessous dans le fichier :
    • slave ansible_host=<private_ip_of_slave_server> ansible_ssh_pass=root

Chaque notation signifie ce qui suit :

  • Esclave : nom de la variable hôte
  • Hôte Ansible : définition de la variable hôte
  • Ansible_ssh_pass : méthode d'authentification ansible

Nous pouvons également utiliser d'autres formats lors de la création du fichiers d'inventaire.

Vous trouverez ci-dessous comment créer un playbook (le playbook est un plan de tâches d'automatisation, qui sont des actions informatiques complexes exécutées avec une implication humaine limitée ou nulle) pour exécuter l'automatisation :

nom : Exécuter un script

hosts : all

remote_user : root

tasks :

– name : Transférer le script

copy : src=status.sh dest=/root mode=0777

– name : Execute la commande de script

 : sh /root/status.sh

– name : Remove file (delete file)

file :

path : /root/status.sh

state : absent[19659038]Créez le « vim status.sh », un script bash, pour toucher le fichier sur les serveurs esclaves/nœuds :

  • vim status.sh
  • Entrez les lignes ci-dessous et enregistrez le fichier :

#!/ bin/bash

touch /root/text.txt

The Playbook

Lorsque nous exécutons l'ansible-playbook ci-dessus avec le fichier d'inventaire précédent, il vérifiera les entrées de l'hôte et essaiera le connecter avec l'utilisateur défini avec le mot de passe que nous avons mentionné dans le fichier d'inventaire. Une fois la connexion SSH établie, il transférera le script vers les serveurs de nœuds et l'exécutera à l'aide de la commande fournie dans le playbook. Une fois cela fait, il supprimera le script des serveurs nœuds/esclaves.

Avant de procéder à l'exécution du playbook, nous devons modifier le paramètre afin que nous puissions établir la connexion sans aucune erreur car nous utilisons une connexion basée sur l'utilisateur .

Accédez au fichier de configuration Ansible, "/etc/ansible/ansible.cfg". Modifiez le paramètre ci-dessous pour qu'il indique "false", comme ci-dessous :

host_key_checking = False

Une fois les modifications terminées, vous souhaiterez enregistrer le fichier. Testez maintenant la connexion à l'aide de la commande ci-dessous :

ansible slave -m ping -i Inventory.txt

Un statut pong réussi signifie qu'il s'est correctement connecté à partir du serveur nœud/esclave.

C'est parti. exécutez le playbook à l'aide de la commande ci-dessous :

ansible-playbook playbook_script.yaml -i Inventory.txt

Master Ansible in No Time

J'espère que ma courte introduction et mon tutoriel sur Ansible illustrent comment cet outil d'automatisation est conçu pour être fiable, sans agent et vous aider à prospérer sur le marché de l'automatisation. Si vous voulez vraiment maîtriser Ansible, assurez-vous de trouver un projet ou un cours que la pratique rend parfait.




Source link