Jump to section

Apprendre les bases d'Ansible

Copier l'URL

Ansible® est un moteur Open Source qui automatise le provisionnement, la gestion des configurations, le déploiement des applications, l'orchestration et bien d'autres processus informatiques.

Utilisez-le pour installer des logiciels, automatiser des tâches quotidiennes, provisionner une infrastructure, améliorer le niveau de sécurité et de conformité, appliquer des correctifs système et faire profiter toute l'entreprise de l'automatisation.

Quelle est la différence entre Ansible et Red Hat Ansible Automation Platform ?

Les bases d'Ansible : présentation technique de l'automatisation

Cette série de vidéos en ligne et à la demande présente tout ce que vous devez savoir sur Ansible : automatisation, gestion des configurations, provisionnement, déploiement et gestion d'une infrastructure de calcul dans des environnements physiques, virtuels et cloud.

Automatisation de Red Hat Enterprise Linux avec Ansible

Ce cours explique comment automatiser les tâches d'administration système Linux® à l'aide de la dernière version de Red Hat® Ansible Automation Platform.Vous découvrirez les techniques qui permettent d'utiliser Ansible Automation Platform pour automatiser le provisionnement, la configuration, le déploiement d'applications et l'orchestration.

Modules
Ansible se connecte aux nœuds et leur envoie de petits programmes, appelés « modules ». Ces modules accomplissent les tâches d'automatisation dans Ansible. Ces programmes représentent les modèles de ressources pour l'état souhaité d'un système. 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 s'installe sur Red Hat® Enterprise Linux®, CentOS, Fedora, Ubuntu, Debian et de nombreux autres systèmes d'exploitation.

Ansible contient des modules intégrés qui vous permettent d'automatiser des tâches. Vous pouvez également rédiger les vôtres dans n'importe quel langage capable de renvoyer une réponse au format JSON, notamment Ruby, Python ou bash. Les modules d'automatisation pour Windows sont même écrits en PowerShell.

Automatisation sans agent
Ansible est une technologie sans agent, ce qui signifie qu'elle n'installe aucun logiciel sur les nœuds qu'elle gère. Elle lit les informations concernant les machines que vous souhaitez gérer à partir de votre inventaire. Ansible dispose d'un fichier d'inventaire par défaut, mais vous pouvez créer le vôtre et y indiquer les serveurs à gérer. 

Pour se connecter aux serveurs et exécuter des tâches, Ansible utilise le protocole SSH. Par défaut, Ansible utilise des clés SSH avec ssh-agent et se connecte aux machines distantes à l'aide de votre nom d'utilisateur actif. Pas besoin d'une connexion root, vous pouvez vous connecter avec le compte de n'importe quel utilisateur, puis utiliser la commande su ou sudo pour passer à un autre compte utilisateur.

Une fois connectée, la technologie Ansible transfère les modules requis par votre commande ou playbook vers les machines distantes pour leur exécution. Ansible utilise des modèles YAML lisibles par l'homme. Ainsi, les utilisateurs peuvent automatiser des tâches répétitives sans avoir à apprendre un langage de programmation avancé.

Vous pouvez également utiliser Ansible pour exécuter des commandes ad hoc. Pour ce faire, vous devez exécuter une commande ou appeler un module directement à partir de l'interface en ligne de commande. Pas besoin de playbook dans ce cas. Cette méthode convient aux tâches ponctuelles, mais pour les processus plus complexes, vous devez utiliser un playbook Ansible.

Les playbooks Ansible servent à orchestrer des processus informatiques. Un playbook est un fichier YAML (avec une extension .yml ou .yaml) qui contient un ou plusieurs plays (jeux de tâches) et qui permet de définir l'état souhaité d'un système, tandis qu'un module Ansible est un script autonome qui peut être utilisé à l'intérieur d'un playbook Ansible. 

Les plays consistent en une série de tâches à exécuter sur les hôtes sélectionnés dans le fichier d'inventaire Ansible. Les tâches sont les éléments qui constituent un play et qui appellent les modules Ansible. Dans un play, les tâches sont exécutées dans l'ordre de déclaration.

L'introduction de Ansible Lightspeed with IBM Watson Code Assistant rend la création de playbooks Ansible plus accessible et plus efficace. Vous pouvez saisir une demande de tâche en anglais vernaculaire : Ansible Lightspeed se charge d'interagir avec les modèles de base IBM watsonx pour générer des recommandations de code qui sont ensuite utilisées pour créer des playbooks Ansible.

Pendant son exécution, Ansible suit l'état du système. S'il analyse un système et détecte une incohérence entre la description du système dans le playbook et son état réel, il fait les ajustements nécessaires pour que l'état réel corresponde à celui du playbook. 

Ansible inclut un mode de vérification, qui vous permet de confirmer les playbooks et commandes ad hoc avant qu'un changement soit effectué sur le système. Ainsi, vous pouvez voir ce qu'Ansible modifierait, sans pour autant faire la modification. Les gestionnaires Ansible servent à exécuter une tâche spécifique uniquement après un changement du système. Ils sont déclenchés par des tâches et exécutés une seule fois, après tous les autres plays du playbook.

Les variables Ansible permettent de modifier la manière dont un playbook s'exécute. Elles sont utilisées pour prendre en compte les différences entre les systèmes, notamment les versions de paquet et les chemins d'accès aux fichiers, car Ansible vous permet d'exécuter des playbooks sur plusieurs systèmes. Les variables Ansible doivent être définies en fonction de l'action effectuée par votre playbook. Les variables respectent les règles de priorité qui définissent l'ordre dans lequel elles s'appliquent. C'est un point à bien comprendre si vous souhaitez inclure des variables dans vos playbooks.

Les rôles Ansible correspondent à un type spécifique de playbook totalement autonome et portable. Ils contiennent les tâches, variables, modèles de configuration et tous les autres fichiers requis pour une orchestration complexe. Il peut y avoir plusieurs rôles dans une même collection, ce qui simplifie le partage de contenu via les plateformes Automation Hub et Ansible Galaxy.

Pour utiliser Ansible, vous devez également comprendre le concept de collection. Les collections représentent un format de distribution de contenu Ansible qui peut inclure des playbooks, rôles, modules et plug-ins.

La gestion des configurations est un processus qui permet de maintenir les systèmes informatiques, les serveurs et les logiciels dans l'état souhaité et d'en préserver la cohérence. C'est une façon de s'assurer qu'un système fonctionne comme prévu au fil des changements effectués. Avant, cette opération était réalisée par les administrateurs système de façon manuelle ou avec un script personnalisé.

Lorsqu'il est utilisé pour la gestion des configurations, l'outil Red Hat® Ansible® Automation Platform permet d'enregistrer l'état actuel de vos systèmes et de les maintenir dans cet état. 

Avec les outils de gestion des configurations, vous accélérez les changements et les déploiements, vous évitez les risques d'erreur humaine et vous rendez la gestion des systèmes plus prévisible et évolutive. Ces outils permettent également de suivre l'état de vos ressources et vous évitent de répéter des tâches, telles que l'installation d'un même paquet deux fois. 

Grâce à la gestion automatisée des configurations avec Ansible, vous pouvez améliorer la récupération du système après un événement critique. Si un serveur s'arrête pour une raison inconnue, vous pouvez en déployer un nouveau rapidement et obtenir un enregistrement de toutes les modifications ou mises à jour qui ont eu lieu, afin d'identifier l'origine du problème. 

Aujourd'hui, l'infrastructure est majoritairement logicielle et la virtualisation ainsi que les conteneurs ont accéléré le processus tout en réduisant la fréquence de provisionnement et de gestion du matériel.

Il est difficile de suivre les modifications, de contrôler les versions et d'éviter les erreurs et incohérences lorsque le provisionnement est géré manuellement, pour chaque déploiement. L'automatisation simplifie considérablement le provisionnement d'une infrastructure, alors commencez par ce processus lorsque vous vous lancez dans l'automatisation du cycle d'exploitation des applications. 

Vous pouvez utiliser Ansible pour provisionner l'infrastructure sous-jacente de votre environnement, les hôtes virtualisés et les hyperviseurs, les périphériques réseau et les serveurs bare metal. Ansible permet également d'installer des services, d'ajouter des hôtes de calcul et de provisionner des ressources, services et applications au sein de votre cloud.

Les playbooks servent à décrire l'état souhaité de votre infrastructure pour qu'Ansible puisse ensuite la provisionner. En codifiant votre infrastructure à l'aide d'un playbook, vous êtes certain de provisionner le même environnement à chaque fois. 

L'automatisation du déploiement vous permet de déplacer vos logiciels entre les environnements de test et de production à l'aide de processus automatisés. Ainsi, vous assurez la reproductibilité et la fiabilité des déploiements tout au long du cycle de distribution. L'automatisation du déploiement est essentielle pour la mise en œuvre des pratiques DevOps et la gestion du pipeline CI/CD.

Il est impossible d'automatiser le déploiement si l'équipe de développement et l'équipe d'exploitation ne se mettent pas d'accord sur la manière de déployer les applications ou de configurer les environnements. En effet, pour automatiser un environnement, il faut que celui-ci soit cohérent. Aussi, vous devez appliquer le même processus de déploiement à tous vos environnements, y compris à l'environnement de production. 

En général, un pipeline de déploiement se compose de trois étapes principales (parfois plus) : création, test et déploiement. C'est ce pipeline qui vous permet d'automatiser le processus de déploiement et d'assurer un passage rapide du code en déploiement. Ansible vous permet de déployer des applications à plusieurs niveaux de manière fiable et cohérente, à partir d'un framework commun. Vous pouvez configurer les services requis et publier les artefacts d'application à l'aide de playbooks.

En général, l'automatisation concerne une tâche unique. C'est ce qui la différencie de l'orchestration, qui décrit comment automatiser un processus ou un workflow constitué de nombreuses étapes réalisées sur plusieurs systèmes disparates. 

L'orchestration du cloud peut être utilisée pour approvisionner ou déployer des serveurs, attribuer de la capacité de stockage, créer des machines virtuelles et gérer le réseau en plus d'autres tâches. Il existe de nombreux outils qui vous aideront à orchestrer le cloud, notamment Ansible. La configuration et la gestion des serveurs ainsi que les déploiements d'applications peuvent également être orchestrés à l'aide d'un outil tel qu'Ansible.

Les différents composants potentiellement impliqués dans le déploiement des applications, à savoir les services front-end et back-end, les bases de données, les outils de surveillance, les réseaux et le système de stockage, ont tous un rôle à jouer et doivent être configurés et déployés individuellement. L'orchestration assure le bon déroulement de chaque étape du processus. Ansible vous permet d'orchestrer le déploiement en exécutant les tâches du playbook dans l'ordre dans lequel elles ont été rédigées. Ainsi, vous avez la garantie que le processus se déroulera comme prévu. 

L'automatisation des réseaux s'appuie sur une logique programmable qui permet de gérer les ressources et les services des réseaux. L'automatisation des réseaux permet aux équipes d'exploitation réseau (NetOps) de configurer, de mettre à l'échelle, de protéger et d'intégrer l'infrastructure réseau ainsi que les services d'applications plus rapidement que si ces tâches étaient effectuées manuellement par les utilisateurs.

Alors même que les technologies sous-jacentes ont largement évolué, la gestion des réseaux continue de stagner depuis des décennies. Les réseaux sont généralement conçus, exploités et entretenus manuellement. Toutefois, les approches traditionnelles et manuelles adoptées jusqu'ici pour configurer et mettre à jour les réseaux sont lentes et propices aux erreurs. Elles ne permettent donc pas de satisfaire efficacement les exigences des charges de travail qui évoluent en permanence. 

L'automatisation des ressources et de la gestion des services du réseau permet aux équipes d'exploitation réseau de gagner en agilité et en flexibilité, tout en répondant efficacement aux demandes des entreprises modernes.

L'automatisation de la sécurité consiste à utiliser des technologies pour réaliser des tâches, avec une intervention humaine réduite, afin d'intégrer des processus, des applications et une infrastructure de sécurité. L'automatisation vous aide à rationaliser les tâches quotidiennes, ainsi qu'à intégrer la sécurité aux processus, aux applications et à l'infrastructure dès le départ. En automatisant totalement la sécurité, vous pouvez même réduire le coût moyen d'une faille de 95 %.

L'automatisation de vos processus de sécurité peut vous aider à identifier, confirmer et signaler les menaces plus rapidement qu'avec des processus manuels. En cas d'incident, les équipes de sécurité peuvent utiliser Ansible pour apporter rapidement et simultanément des correctifs aux systèmes affectés dans votre environnement et accélérer la résolution des problèmes.

Avec Ansible, les équipes de sécurité peuvent configurer une séquence de tâches qui partagent un inventaire, des playbooks ou des autorisations pour automatiser totalement les tâches de recherche ou les mesures de correction. La solution Red Hat Ansible Automation Platform s'intègre à des services externes d'agrégation de journaux tiers qui aident les équipes de sécurité à identifier les tendances, analyser les événements liés à l'infrastructure, surveiller les anomalies et mettre en corrélation des événements disparates.

Red Hat travaille avec la vaste communauté Open Source sur les technologies d'automatisation. Nos ingénieurs améliorent les fonctions, la fiabilité et la sécurité de nos solutions pour vous assurer que votre environnement informatique et votre entreprise fonctionnent correctement tout en restant stables et sécurisés. 

La solution Red Hat Ansible Automation Platform comprend tous les outils nécessaires à la mise en œuvre de l'automatisation à l'échelle de l'entreprise, notamment des playbooks et des outils d'analyse. Elle permet aussi aux utilisateurs de centraliser et contrôler leur infrastructure informatique au moyen d'un tableau de bord visuel, du contrôle d'accès basé sur les rôles et de nombreuses autres fonctions, avec à la clé une réduction de la complexité opérationnelle.

Avec une souscription Red Hat, vous bénéficiez de contenus certifiés issus de notre riche écosystème de partenaires, d'un accès à des services de gestion hébergés et d'une assistance technique tout au long du cycle de vie qui permet à vos équipes de créer, gérer et faire évoluer les processus automatisés dans l'ensemble de votre entreprise. En outre, vous profiterez de l'expertise que nous avons acquise grâce à nos réussites auprès de milliers de clients.

Les entreprises souhaitent non seulement adopter une solution facile à mettre en place, mais aussi partager et réutiliser les processus d'automatisation d'un projet à l'autre, entre plusieurs équipes, sans sacrifier la gouvernance et le contrôle. Avec la solution d'automatisation adéquate, vous pouvez déployer plus rapidement de nouveaux services et applications, gérer plus efficacement l'infrastructure informatique et constater une amélioration de la productivité en matière de développement d'applications.

Lire la suite

Article

Apprendre les bases d'Ansible

Ansible permet d'automatiser les processus informatiques tels que le provisionnement et la gestion des configurations. Apprenez les bases d'Ansible en lisant cette présentation des concepts clés.

Article

La gestion des processus métier, qu'est-ce que c'est ?

La gestion des processus métier est une pratique de modélisation, d'analyse et d'optimisation des processus métier de bout en bout qui vous permet d'atteindre vos objectifs métier stratégiques.

Article

Red Hat, un partenaire de choix en matière d'automatisation

La solution Red Hat Ansible Automation Platform comprend tous les outils nécessaires au partage des processus d'automatisation entre les équipes et à la mise en œuvre de l'automatisation à l'échelle de l'entreprise.

En savoir plus sur l'automatisation

Produits

Contrats avec des conseillers stratégiques qui prennent en considération tous les tenants et les aboutissants de votre entreprise, analysent les défis auxquels vous êtes confrontés et vous aident à les relever avec des solutions complètes et économiques.

Plateforme pour la mise en œuvre de l'automatisation à l'échelle de l'entreprise, quelle que soit votre situation.

Ressources

Formations

Cours gratuit

L'essentiel d'Ansible : automatiser en toute simplicité – Présentation technique

Cours gratuit

Red Hat Ansible Automation pour SAP