Ansible - Présentation

Ansible est un moteur informatique open source simple qui automatise le déploiement d'applications, l'orchestration intra-service, le provisionnement cloud et de nombreux autres outils informatiques.

Ansible est facile à déployer car il n'utilise aucun agent ni aucune infrastructure de sécurité personnalisée.

Ansible utilise un playbook pour décrire les tâches d'automatisation, et le playbook utilise un langage très simple, c'est-à-dire YAML(C'est un langage de sérialisation de données lisible par l'homme et est couramment utilisé pour les fichiers de configuration, mais pourrait être utilisé dans de nombreuses applications où des données sont stockées), ce qui est très facile à comprendre, à lire et à écrire pour les humains. Par conséquent, l'avantage est que même les responsables du support de l'infrastructure informatique peuvent lire et comprendre le playbook et déboguer si nécessaire (YAML - Il est sous une forme lisible par l'homme).

Ansible est conçu pour un déploiement à plusieurs niveaux. Ansible ne gère pas un système à la fois, il modélise l'infrastructure informatique en décrivant que tous vos systèmes sont interdépendants. Ansible est complètement sans agent, ce qui signifie qu'Ansible fonctionne en connectant vos nœuds via ssh (par défaut). Mais si vous voulez une autre méthode de connexion comme Kerberos, Ansible vous offre cette option.

Une fois connecté à vos nœuds, Ansible pousse de petits programmes appelés «modules Ansible». Ansible exécute ces modules sur vos nœuds et les supprime une fois terminé. Ansible gère votre inventaire dans de simples fichiers texte (il s'agit du fichier hosts). Ansible utilise le fichier d'hôtes où l'on peut regrouper les hôtes et contrôler les actions sur un groupe spécifique dans les playbooks.

Exemple de fichier d'hôtes

C'est le contenu du fichier hosts -

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

Qu'est-ce que la gestion de la configuration

La gestion de la configuration en termes d'Ansible signifie qu'elle maintient la configuration des performances du produit en conservant un enregistrement et en mettant à jour les informations détaillées qui décrivent le matériel et les logiciels d'une entreprise.

Ces informations incluent généralement les versions et mises à jour exactes qui ont été appliquées aux packages logiciels installés ainsi que les emplacements et les adresses réseau des périphériques matériels. Par exemple, si vous souhaitez installer la nouvelle version deWebLogic/WebSphere serveur sur toutes les machines présentes dans votre entreprise, il n'est pas possible pour vous d'aller manuellement mettre à jour chaque machine.

Vous pouvez installer WebLogic / WebSphere en une seule fois sur toutes vos machines avec des playbooks et un inventaire Ansible écrits de la manière la plus simple. Tout ce que vous avez à faire est de lister les adresses IP de vos nœuds dans l'inventaire et d'écrire un playbook pour installer WebLogic / WebSphere. Exécutez le playbook à partir de votre machine de contrôle et il sera installé sur tous vos nœuds.

Comment fonctionne Ansible?

L'image ci-dessous montre le fonctionnement d'Ansible.

Ansible works en vous connectant à vos nœuds et en déployant de petits programmes, appelés "Ansible modules »pour eux. Ansibleexécute ensuite ces modules (via SSH par défaut) et les supprime une fois terminé. Votre bibliothèque de modules peut résider sur n'importe quelle machine et aucun serveur, démon ou base de données n'est requis.

Le nœud de gestion dans l'image ci-dessus est le nœud de contrôle (nœud de gestion) qui contrôle l'exécution entière du playbook. C'est le nœud à partir duquel vous exécutez l'installation. Le fichier d'inventaire fournit la liste des hôtes sur lesquels les modules Ansible doivent être exécutés et le nœud de gestion établit une connexion SSH et exécute les petits modules sur la machine hôte et installe le produit / logiciel.

Beauty d'Ansible est qu'il supprime les modules une fois qu'ils sont installés si efficacement qu'il se connecte à la machine hôte, exécute les instructions et s'il est installé avec succès, supprime le code qui a été copié sur la machine hôte qui a été exécuté.