Ansible

Résumé

Utilisation d’Ansible pour l’administration de votre infrastructure.

  • Durée : 2 jours
  • Prérequis :
    • Administration de systèmes linux
    • Configuration de services
    • Bash (scripts, ssh, )
    • Syntaxe YAML
    • Git

Contexte

La description de votre infrastrucutre par des fichiers de configuration (Infrastructure as Code - IaC) permet de profiter de toutes les pratiques de développement : documentation complète, versionnage, travail collaboratif, déploiement continu, détection automatique de failles, réutilisation de code, etc. C’est aujourd’hui un incontourable de l’approche DevOps.

Parmi les outils de l’Infrastructure as Code, Ansible (ou ses concurrents comme Chef, Puppet, Saltstack, ..) permet de décrire la configuration logicielle des machines de votre parc (serveur physique ou virtuel, hyperviseur, équipement réseau, etc. ).

Objectifs

  • Comprendre les principes de l’Infrastructure as Code.
  • Connaître les concepts d’Ansible.
  • Savoir gérer une infrastructure avec Ansible.

Prérequis

  • Bases administration linux : arborescence standard du système, manipulation de fichiers de configuration, utilisation de bash, paquets, utilisateurs, permissions, processus, services.
  • Git, notions & usages de base : versionnage, commit, branche, utilisation de la commande git (clone, commit, merge, status, log, history, rebase).
  • YAML (syntaxe de base).
  • Notion de template (par exemple Jinja).

Programme

Programme:

  • Orchestration - introduction

    • Concepts de l’infastructure as code, idempotence.
    • Introduction aux playbooks d’Ansible.
    • Écriture de fichiers de configuration pour le déploiement de paquet.
    • Mise en pratique : dans un dépôt versionné, écriture d’un playbook pour l’installation de paquets.
  • Orchestration - gestion d’une infrastructure

    • Exécution distante avec Ansible, « ansible inventory ».
    • Notion d’état. Exemples détaillés : paquets, configuration réseau, fichier de configuration, services actifs.
    • Gestion de fichiers de configuration paramétrés: templates Jinja2 utilisant Variables et Facts.
    • Organisation du code et bonnes pratiques.
    • Mise en pratique pour le déploiement d’un service.
    • Mise en place d’une infrastructure et des services associés : utilisateurs, services ssh, montages réseau, automatisation des mises à jour.
Julien Robert
Julien Robert
Indépendant en ingénierie informatique

Docteur en informatique, agrégé de mathématiques, passionné de sciences et d’informatique, j’ai à coeur de mettre en oeuvre et faire évoluer et transmettre mes conpétences sur tout type de projet “stimulant” conceptuellement et / ou techniquement.