Vous avez entendu parler d’Ansible, mais vous ne savez pas de quoi il s’agit ? Ne vous inquiétez pas, vous saurez tout sur Ansible dans les 5 prochaines minutes.
Qu’est-ce qu’Ansible ?
Ansible est un outil DevOps open source qui peut aider les entreprises dans la gestion de la configuration, le déploiement, le provisionnement, etc. Il est facile à déployer ; il utilise SSH pour communiquer entre les serveurs. Il utilise le playbook pour décrire les tâches d’automatisation, et le playbook utilise un langage très simple, le YAML.
Ansible assure la fiabilité, la cohérence et l’évolutivité de votre infrastructure informatique. Vous pouvez automatiser les configurations des bases de données, du stockage, des réseaux et des pare-feu à l’aide d’Ansible. Il s’assure que tous les paquets nécessaires et tous les autres logiciels sont cohérents sur le serveur pour faire fonctionner l’application.
Prenons un exemple : vous avez une version de débogage d’une application basée sur Visual C . Si vous souhaitez exécuter cette application sur un ordinateur, vous devez remplir certaines conditions préalables, telles que les DLL de la bibliothèque Microsoft Visual C, et Visual C doit être installé sur votre ordinateur. C’est donc dans cette partie qu’Ansible s’assurera que tous ces paquets de base et tous les logiciels sont installés sur votre ordinateur afin que votre application puisse fonctionner sans problème dans tous les environnements, qu’il s’agisse d’un environnement de test ou de production.
Il contient également toutes les données historiques de votre application, de sorte que si vous souhaitez à tout moment revenir à la version précédente ou la mettre à niveau, vous pouvez facilement le faire.
Examinons quelques-unes des caractéristiques suivantes.
Sans agent – Ce qui signifie qu’il n’y a pas de logiciel ou d’agent gérant le nœud comme d’autres solutions telles que puppet et chef.
Python – Construit sur python, qui est rapide et l’un des langages de programmation les plus robustes dans le monde d’aujourd’hui.
SSH – Protocole d’authentification réseau sans mot de passe très simple et sécurisé. Votre responsabilité est donc de copier cette clé vers le client
Architecture de poussée – Pousser les configurations nécessaires aux clients. Tout ce que vous avez à faire est d’écrire ces configurations (playbook) et de les pousser toutes en même temps vers les nœuds. Vous voyez à quel point il peut être puissant de pousser les changements vers des milliers de serveurs en quelques minutes.
Mise en place – une exigence et une configuration minimales nécessaires pour que cela fonctionne.
Architecture Ansible
Commençons par le nuage public/privé, qui est le serveur Linux. Il peut également servir de référentiel pour toutes les installations et configurations informatiques.
L’architecture ci-dessus comporte un ensemble de machines hôtes auxquelles le serveur Ansible se connecte et envoie les playbooks via SSH.
Il dispose d’un moteur d’automatisation ansible qui permet aux utilisateurs d’exécuter directement un playbook qui sera déployé sur les hôtes. Le moteur d’automatisation ansible comporte plusieurs composants. Le premier est l’inventaire des hôtes. Il s’agit d’une liste de toutes les adresses IP de tous les hôtes.
Ensuite, il y a les modules. Ansible est livré avec des centaines de modules intégrés et les modules sont ces morceaux de code qui sont exécutés lorsque vous exécutez un playbook. Un cahier de jeu contient des séquences, une séquence contient différentes tâches et une tâche comprend des modules.
Lorsque vous exécutez un playbook, ce sont les modules qui sont exécutés sur vos hôtes, et ces modules contiennent des actions. Ainsi, lorsque vous exécutez un playbook, ces actions se déroulent sur vos machines hôtes. Vous pouvez également créer vos propres modules. Tout ce que vous avez à faire est d’écrire quelques lignes de code et d’en faire votre module, et vous pouvez l’exécuter quand vous le souhaitez.
Ensuite, l’architecture comporte des playbooks. Les playbooks définissent en fait votre flux de travail, car toutes les tâches que vous écrivez dans un playbook sont exécutées dans l’ordre dans lequel vous les avez écrites. Par exemple, si vous avez écrit qu’il faut d’abord installer un paquet et ensuite démarrer, il en sera de même. Les playbooks sont très simples pour écrire du code YAML. Le code YAML est un langage de sérialisation de données très simple ; il ressemble beaucoup à l’anglais.
Ensuite, dans l’architecture, il y a les plugins. Les plugins sont des modules d’un genre particulier. Ils sont exécutés avant qu’un module ne soit exécuté sur les nœuds. Les plugins sont exécutés sur la machine de contrôle principale à des fins de journalisation. Vous avez des plugins de rappel parce qu’ils vous permettent de vous connecter à différents événements ansible à des fins d’affichage et de journalisation. Les plugins de cache sont utilisés pour conserver un cache de faits afin d’éviter des opérations coûteuses de collecte de faits. Ansible dispose également de plugins d’action, qui sont des modules frontaux, et qui peuvent exécuter des tâches sur la machine du contrôleur avant d’appeler les modules eux-mêmes.
L’architecture dispose de plugins de connexion. Il n’est pas toujours nécessaire d’utiliser SSH pour se connecter à vos machines hôtes ; vous pouvez également utiliser un plugin de connexion. Par exemple, ansible vous fournit un plugin de connexion aux conteneurs D ocker et en utilisant ce plugin de connexion, vous pouvez facilement vous connecter à tous vos conteneurs Docker et commencer à les configurer immédiatement.
Voilà pour l’architecture. Maintenant, laissez-moi vous expliquer comment Ansible fonctionne exactement.
Comment fonctionne Ansible ?
Ansible fonctionne en se connectant à des nœuds et en poussant de petits programmes appelés modules Ansible. Ansible exécute ensuite ces modules via SSH par défaut et les supprime lorsqu’ils sont terminés.
Le nœud de gestion d’Ansible est le nœud de contrôle, qui contrôle l’ensemble de l’exécution du Playbook. C’est le nœud à partir duquel vous exécutez l’installation, et le fichier d’inventaire fournit la liste des hôtes sur lesquels les modules doivent être exécutés. Le nœud de gestion établit une connexion ssh, puis exécute les modules sur les machines hôtes et installe le produit. Il supprime les modules une fois qu’ils sont installés. Voilà comment fonctionne ansible.
Ensuite, vous serez peut-être intéressé d’apprendre comment installer et configurer Ansible.
Conclusion
J’espère que vous avez maintenant une idée d’Ansible pour commencer. Ansible change la donne dans la façon dont vous gérez l’infrastructure et si vous êtes Sysadmin ou Développeur, vous pouvez suivre cette formation pratique pour améliorer vos compétences.