Vous avez entendu parler d'Ansible mais vous ne savez pas ce que c'est? Ne vous inquiétez pas, vous connaîtrez Ansible dans les 5 prochaines minutes.
What is Ansible?
Ansible est une open source DevOps outil qui peut aider l'entreprise dans la gestion de la configuration, le déploiement, l'approvisionnement, etc. Il est simple à déployer; il exploite 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 YAML.
Ansible offre fiabilité, cohérence et évolutivité à votre infrastructure informatique. Vous pouvez automatiser les configurations de bases de données, de stockage, de réseaux, de pare-feu à l'aide d'Ansible. Il s'assure que tous les packages nécessaires et tous les autres logiciels sont cohérents sur le serveur pour exécuter l'application.
Prenons un exemple; vous disposez d'une version de débogage d'une application basée sur Visual C ++. Désormais, si vous souhaitez exécuter cette application sur un ordinateur, vous devez répondre à certaines conditions préalables telles que les DLL de la bibliothèque Microsoft Visual C ++, et vous devez installer Visual C ++ sur votre ordinateur. C'est donc la partie où Ansible s'assurera que tous ces packages de base et tous les logiciels sont installés sur votre ordinateur afin que votre application puisse fonctionner correctement sur 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, donc si à tout moment vous souhaitez revenir à la version précédente ou la mettre à niveau, vous pouvez facilement le faire.
Jetons un coup d'œil à certaines des fonctionnalités suivantes.
Facilité de - Ce qui signifie qu'il n'y a aucun type de logiciel ou d'agent gérant le nœud comme une autre solution telle que marionnette et chef.
Python - Construit sur python, qui est rapide et l'un des langages de programmation robustes dans le monde d'aujourd'hui.
SSH - Protocole d'authentification réseau sans mot de passe très simple et sécurisé. Donc, votre responsabilité est de copier cette clé au client
Architecture push - Poussez les configurations nécessaires vers eux, clients. Tout ce que vous avez à faire est de noter ces configurations (playbook) et de les pousser toutes en même temps vers les nœuds. Vous voyez à quel point il peut être puissant d'appliquer les modifications à des milliers de serveurs en quelques minutes.
installation - une exigence et une configuration minimales nécessaires pour le faire fonctionner.
Ansible Architecture
Commençons par Cloud 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 a un tas de hôte machines auxquelles le serveur ansible se connecte et pousse les playbooks via SSH.
Il a moteur d'automatisation ansible en utilisant quels utilisateurs peuvent exécuter directement un playbook qui est déployé sur les hôtes. Il existe plusieurs composants dans le moteur d'automatisation ansible. Le premier est un inventaire d'hôte. C'est une liste de toutes les adresses IP de tous les hôtes.
Ensuite, il y a 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 playbook contient des jeux, un play 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 ont lieu sur vos machines hôtes. Vous pouvez également créer vos modules personnalisés. Tout ce que vous devez faire est d'écrire quelques lignes de code et d'en faire votre module, et vous pouvez l'exécuter à tout moment.
Ensuite, l'architecture a playbooks. Les playbooks définissent ici en fait votre flux de travail, car quelles que soient les tâches que vous écrivez dans un playbook, il est exécuté dans le même ordre que vous les avez écrites. Par exemple, si vous avez écrit pour installer d'abord un package, puis démarrer, cela fera de même. Les playbooks sont très simples à écrire du code YAML. Le code YAML est un langage de sérialisation de données très simple; c'est un peu comme l'anglais.
Ensuite, dans l'architecture sont plugins. Les plugins ici sont des types spéciaux de modules. Ces plugins 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, car cela vous permet de vous connecter à différents événements ansibles à 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 de collecte de faits coûteuses. Ansible a également des plugins d'action, qui sont des modules frontaux, et ils peuvent exécuter des tâches sur la machine 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 un SSH pour se connecter à vos machines hôtes ; vous pouvez également utiliser un plug-in de connexion. Par exemple, ansible vous fournit un connexion conteneur docker plugin et en utilisant ce plug-in de connexion, vous pouvez facilement vous connecter à tous vos conteneurs Docker et commencer immédiatement la configuration.
C'était une question d'architecture. Ensuite, laissez-moi vous dire comment cela fonctionne exactement.
How Ansible Works?
Ansible fonctionne en se connectant aux nœuds et en poussant de petits programmes appelés modules ansibles. Ansible exécute ensuite ces modules via SSH par défaut, puis les supprime une fois terminé.
Le nœud de gestion Ansible est le nœud de contrôle, qui contrôle toute 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 de l'hôte sur lequel 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 voudrez peut-être apprendre à installer et configurer Ansible.
Conclusion
J'espère que vous avez maintenant une idée sur Ansible pour commencer. Ansible change la donne dans la façon dont vous gérez l'infrastructure et si vous êtes administrateur système ou développeur, vous pouvez consulter ceci formation pratique pour faire progresser les compétences.