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.

Cette technologie permet d'installer des logiciels, d'automatiser les tâches quotidiennes, de provisionner des composants réseau et d'infrastructure, d'améliorer le niveau de sécurité et de conformité, d'appliquer des correctifs système et d'orchestrer des workflows complexes.

Conçue sur les mêmes bases que la version communautaire d'Ansible, la solution Red Hat® Ansible Automation Platform offre en plus une prise en charge complète du cycle de vie de l'entreprise ainsi que des fonctions de standardisation, d'exploitation et de mise à l'échelle de l'automatisation. 

Cet article présente les principes fondamentaux de la version communautaire d'Ansible et d'Ansible Automation Platform.

Modules

Ansible se connecte aux nœuds (ou hôtes) et leur envoie de petits programmes, appelés « modules ». Les nœuds sont les points de terminaison cibles (serveurs, périphériques réseau ou ordinateur) à gérer avec Ansible. Les 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 contient des modules intégrés qui permettent d'automatiser des tâches. Il est également possible de créer des modules dans tout langage capable de renvoyer une réponse au format JSON, notamment Ruby, Python ou bash. Les modules d'automatisation pour Windows peuvent même être é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. Ansible 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 Ansible vers les machines distantes pour leur exécution. Ansible utilise des modèles YAML que les utilisateurs peuvent facilement lire. Ceux-ci peuvent ainsi automatiser des tâches répétitives sans avoir à apprendre un langage de programmation avancé.

Ansible pour des commandes ad hoc

Ansible peut également servir à exécuter des commandes ad hoc pour automatiser une tâche sur un ou plusieurs nœuds gérés. Pour ce faire, vous devez exécuter une commande ou appeler un module directement à partir de l'interface en ligne de commande. Vous n'avez pas besoin de playbook et vous ne pouvez pas réutiliser les commandes ad hoc. Cette méthode convient aux tâches ponctuelles, mais pour les processus réguliers ou 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.

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 sont un moyen d'adapter l'exécution des playbooks aux différences entre les systèmes, comme les versions des paquets ou les chemins de fichiers. Ansible permet d'exécuter des playbooks sur plusieurs systèmes avec une seule commande. Les variables servent à gérer les divergences entre ces systèmes. Elles peuvent être définies dans des playbooks, dans un inventaire, dans des fichiers ou rôles réutilisables, ou au niveau de la ligne de commande. Les variables respectent les règles de priorité qui définissent l'ordre dans lequel elles s'appliquent.

Les rôles Ansible correspondent à un type spécifique de playbook totalement autonome et portable. Ils regroupent les tâches, les variables, les 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 des contenus via les plateformes Automation Hub et Ansible Galaxy.

Les collections renvoient à un format de distribution des contenus Ansible. Chacune peut comprendre des playbooks, des rôles, des modules, des plug-ins et de la documentation, ce qui facilite le partage des processus automatisés et l'utilisation des contenus créés par d'autres équipes. Ces collections sont triées par domaine, ce qui demande moins de travail en amont pour trouver et combiner différents rôles et modules.

Les collections de contenus Ansible Content Collections reposent sur le même principe, mais sont spécifiquement conçues pour aider les utilisateurs de la solution Ansible Automation Platform à accélérer l'automatisation avec des contenus prédéfinis fournis par Red Hat et des partenaires certifiés. Ces collections, qui comprennent les contenus Red Hat Ansible Certified Content et les contenus validés pour Ansible, sont développées et testées en collaboration avec les partenaires afin de garantir leur sécurité, leur fiabilité et leur pertinence pour les entreprises.

Vidéo : la différence entre les contenus certifiés et validés pour Ansible ainsi que leur rôle (durée : 1 min 55 s)

Ansible est un projet dont l'utilisation, le téléchargement et la modification sont gratuits, et qui profite de l'expérience et de l'expertise des milliers de personnes qui y contribuent. La version communautaire d'Ansible contient de puissants outils en ligne de commande pris en charge par la plupart des systèmes d'exploitation qui exécutent Python : Red Hat Enterprise Linux®, Debian, Ubuntu, MacOS, FreeBSD, Microsoft Windows, etc. 

Ansible Automation Platform est une solution d'entreprise unifiée à la sécurité renforcée qui associe plus d'une dizaine de projets en amont. Cette solution s'appuie sur les bases de la version communautaire d'Ansible pour créer une expérience d'automatisation de bout en bout destinée aux équipes pluridisciplinaires, tout en offrant une expérience clé en main pour les équipes de développement, d'ingénierie et d'exploitation.

Vous souhaitez en savoir plus sur les différences 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.

Ressources d'apprentissage

Découvrez les ressources et outils pédagogiques créés pour vous aider à utiliser Ansible Automation Platform, classés selon les tâches à accomplir. Ces ressources offrent de plus amples informations sur les options de déploiement, l'installation, les avantages des fonctions et les cas d'utilisation de l'automatisation pour de nouveaux défis.

Accès à des ateliers interactifs

Progressez à votre rythme dans des scénarios interactifs et profitez d'un environnement Ansible Automation Platform préconfiguré qui s'exécute directement dans votre navigateur pour découvrir des méthodes d'automatisation adaptées à différents cas d'utilisation.

L'IA générative avec Ansible

Le service d'IA générative Red Hat Ansible Lightspeed with IBM watsonx Code Assistant est né du partenariat entre Red Hat et IBM. Il permet aux équipes d'assimiler, de créer et de gérer des contenus d'automatisation de manière plus efficace. À partir d'une demande de tâche effectuée dans un langage simple, Ansible Lightspeed interagit avec les modèles de fondation IBM watsonx pour générer des recommandations de code qui peuvent ensuite être utilisées pour créer des playbooks Ansible.

Provisionnement

Les playbooks Ansible s'utilisent pour décrire l'état souhaité d'une infrastructure avant de la provisionner avec Ansible Automation Platform. Ils permettent ainsi de provisionner systématiquement les mêmes environnements, de la même manière. Ce principe peut aussi s'appliquer à la création de l'infrastructure informatique complète : un seul et même workflow peut être à l'origine des nouvelles instances des environnements physiques, cloud ou virtuels, des nouveaux services et hôtes de calcul ainsi que des nouvelles applications et autres ressources.

Gestion des configurations

L'automatisation de la gestion des configurations permet d'accélérer les changements et les déploiements, de limiter les erreurs humaines et de rendre la gestion des systèmes plus prévisible et évolutive. Lorsque les systèmes informatiques, serveurs et logiciels sont maintenus dans un état souhaité cohérent, les risques de failles de sécurité, de dégradation des services et de pannes sont considérablement réduits. De plus, les équipes sont moins occupées par l'application manuelle des correctifs et mises à jour et peuvent se consacrer à des projets plus importants.

Automatisation des réseaux

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

Déploiement d'applications

L'automatisation du déploiement d'applications permet de déplacer des logiciels entre les environnements de test et de production à l'aide de processus coordonnés. Cette approche accélère le cycle de distribution des logiciels et renforce la fiabilité des applications en production. Elle est aussi essentielle pour la mise en œuvre des pratiques DevOps et la gestion du pipeline CI/CD.

Automatisation de la sécurité

Dans le cadre de l'automatisation de la sécurité, les processus, les applications et l'infrastructure de sécurité font partie d'un même flux de travail. En plus de renforcer l'efficacité de l'exploitation de la sécurité (SecOps), cette approche réduit les incohérences et les erreurs parfois sources de failles de sécurité ou d'autres menaces. Avec Ansible Automation Platform, 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.

Orchestration

Parce que l'automatisation d'une seule tâche apporte des avantages limités, les solutions telles qu'Ansible Automation Platform permettent de configurer et d'automatiser facilement un workflow composé de plusieurs étapes. Celles-ci sont coordonnées entre plusieurs systèmes différents, comme l'infrastructure, les périphériques réseau ou les outils de sécurité. L'orchestration améliore aussi la communication entre les différentes équipes informatiques.

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 un composant orienté événements, des playbooks et des outils d'analyse. Elle permet aussi de centraliser et contrôler l'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 automatisés d'un projet à l'autre, entre plusieurs équipes, sans sacrifier la gouvernance et le contrôle. Avec Ansible Automation Platform, vous pouvez déployer plus rapidement de nouveaux services et de nouvelles applications, gérer plus efficacement l'infrastructure informatique et augmenter 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