Ansible et Puppet ont des approches différentes, mais toutes deux se concentrent sur les objectifs à atteindre plutôt que sur les étapes nécessaires pour y parvenir. Puppet a la puissance nécessaire pour cibler nombre d'environnements de déploiement, d'applications et de types de nœuds.
Puppet vs Chef
Sur ce terrain, Chef affiche une longueur d'avance via son module Chef Vault centré sur l'orchestration du chiffrement au niveau des nœuds d'un cluster. De son côté, Puppet est nettement plus actif en matière de corrections de failles là où Chef semble inactif dans ce domaine pourtant des plus critiques.
Ansible® est un outil Open Source d'automatisation informatique qui automatise le provisionnement, la gestion des configurations, le déploiement des applications, l'orchestration et bien d'autres processus informatiques manuels.
Ansible est une plateforme de gestion de la configuration qui automatise le stockage, les serveurs et la mise en réseau. Lorsque vous utilisez Ansible pour configurer ces composants, les tâches manuelles complexes deviennent reproductibles et sont moins vulnérables aux erreurs.
Fonctionnement d'Ansible
Ansible exécute les modules, puis les supprime. Sans ces modules, il faut recourir à des commandes et scripts ad hoc pour accomplir chaque tâche. Ansible est une technologie sans agent, ce qui signifie qu'elle n'installe aucun logiciel sur les nœuds qu'elle gère.
Un playbook Ansible® est un modèle de tâches d'automatisation, qui sont des opérations informatiques complexes exécutées sans intervention humaine ou presque. Les playbooks Ansible sont exécutés sur un ensemble, un groupe ou une classification d'hôtes, qui forment ensemble un inventaire.
Définition d'un inventaire Ansible. Un inventaire est une source de données connue d'avance sur les cibles de gestion Ansible organisée en groupes. Les tâches sont exécutées pour des hôtes ou des groupes d'hôtes dans un inventaire défini.
Lancez la commande ansible-playbook pour exécuter le playbook install-apache. yml avec les options de connexion suivantes : $ ansible-playbook -i inventaire. ini --user user-ansible --become --ask-become-pass install-apache.
Structurez votre déploiement avec les rôles Ansible
Installer une base de données MariaDB sur le deuxième serveur (bdd1). Télécharger les fichiers sources de MediaWiki et les mettre sur le serveur web (http1). Configurer le serveur web (http1) pour pointer vers l'URL http://http1/mediawiki.
Développé en Ruby, Puppet utilise son propre langage pour créer et gérer des modules. Ce langage est déclaratif : il utilise des ressources et des classes dans ses manifestes (modules) pour définir des états. Les utilisateurs témoignent d'un apprentissage rapide car intuitif et avec contrôle de code intégré.
Pourquoi utiliser Terraform ? L'outil permet de créer, modifier et administrer l'infrastructure informatique facilement et automatiquement avec le code, en évitant le travail manuel.
17. Quel terme est utilisé pour décrire un ensemble d'instructions à exécuter par l'outil de gestion de configuration Puppet? Explique: L'outil de gestion de configuration Puppet utilise le nom Manifest pour décrire l'ensemble d'instructions à exécuter.
Les playbooks sont des fichiers texte écrits au format YAML et nécessitent donc: de commencer par trois tirets ( --- ) une indentation appropriée en utilisant des espaces et surtout pas de tabulation !
Le plus simple pour ajouter une variable à votre playbook ansible est de définir une section vars. Ensuite, vous pouvez les récupérer comme pour les facts avec des doubles accolades. Il est possible de définir des variables Ansible dans un fichier séparé en ajoutant la section vars_files.
Handlers. Les “Handlers” sont comme les tâches régulières dans un playbook Ansible (voir Tâches) mais ne sont exécutés que si la tâche contient une directive notify et également si elle indique qu'elle a changé quelque chose.
Qu'est-ce qu'un module Terraform
Un module n'est autre qu'un code d'instruction Terraform réutilisable. Préalablement testé, il permettra par exemple de dérouler toutes les tâches nécessaires au déploiement d'une application web sur un cloud donné.
Le Terraform Core utilise deux sources d'entrée (input). La première source est la configuration Terraform définie par l'utilisateur, indiquant ce qui doit être créé ou provisionné. La seconde source est un état où Terraform garde à jour l'état de la configuration actuelle de l'infrastructure.