navigation

frontimage

Infrastructure as Code

Description

Infrastructure as Code Ansible Terraform Packer, © François-Emmanuel Goffinet, 2019

Support de formation de formation sur l’Infrastructure as Code (IaC), ses concepts et ses outils : Ansible, Terraform, Packer.

Sujets

  • Infrastructure as Code (Présentation et concepts)
  • Ansible (Gestion des configurations)
    • Ansible Fondamental
    • Ansible & Linux
    • Ansible & Networks
    • Ansible & API
    • Ansible & AWS
    • Ansible & Containers
    • Ansible & Windows
  • Terraform (Approvisionnement)
  • Packer (Création et approvissionnement d’images)
  • Vagrant (Test et Intégration)

Outils pédagogique utilisés dans le document

Pour la solution de lab, il est notamment proposé d’utiliser Tutoriels interactifs Ansible avec une installation très simple via Docker, mais d’autres solutions sont envisagées ou envisageables avec Docker, Vagrant/KVM/VirtualBox, Libvirtd, … tout prestataire de services IaaS dans le nuage.

Les livres de jeu exposés dans ce support sont maintenus (dans une certaine mesure) à l’adresse https://github.com/goffinet/guide-ansible-playbooks.

On trouvera aussi un Quiz Ansible fondamental qui vérifie la connaissance de concepts fondamentaux sur Ansible. Il s’agit d’un questionnaire (à choix multiples) de dix questions puisées dans une banque plus large avec vingt minutes de temps alloué. Il n’y a pas de limites dans le nombre d’essais.

Enfin, en plus de la publication de ce support sur le Web en HTML en intégration continue grâche GitHub, Gitlab-CI, Netlify, Cloudflare et GoHugo avec le thème Learn, l’auteur offre gratuitement la version PDF du support de formation généré grâce à Gitbook-cli et Calibre.

Infrastructure as Code Ansible Terraform Packer, © François-Emmanuel Goffinet, 2019

Copyright © Red Hat, Inc | Ansible.

Ansible is released under the terms of the GPLv3 License.

License MIT github.com/network-automation/linklight

Copyright © Cisco Systems

Sommaire du document

  • Infrastructure as Code
  • Partie I. Infrastructure as Code Introduction à l'Infrastructure as Code L'Infrastructure as Code, IaC (en tant que) est un type d'infrastructure informatique que les équipes d'exploitation peuvent automatiquement gérer et approvisionner via du code, plutôt que d'utiliser un processus manuel ou interactif. L'infrastructure en tant que code est parfois appelée infrastructure programmable. On trouvera dans cet article les principes, les objectifs, le marché et une présentation des outils IaC Infrastructure as Code.

    • Introduction à l'Infrastructure as Code
    • L'Infrastructure as Code, IaC (en tant que) est un type d'infrastructure informatique que les équipes d'exploitation peuvent automatiquement gérer et approvisionner via du code, plutôt que d'utiliser un processus manuel ou interactif. L'infrastructure en tant que code est parfois appelée infrastructure programmable. On trouvera dans cet article les principes, les objectifs, le marché et une présentation des outils IaC Infrastructure as Code.

      • Introduction à DevOps
      • On trouvera ici une introduction à DevOps

        • Exécution sur AWS EC2
        • Exécution sur AWS EC2, Création d'une instance EC2 avec aws cli

          • IaC Terraform
          • Introduction à Terraform

            • Installation de Terraform
            • Installation de Terraform

              • Terraform AWS EC2
              • Terraform et Ansible

                • Images Packer
                • Packer et Ansible

                • Ansible Fondamental
                • Partie II. Ansible Fondamental Cette partie du support de formation intitulée “Ansible Fondamental” a pour principal objet la gestion de noeuds Linux qui supportent différents types d’applications OpenSource. Le document suit le cahier des charges des formations officielles Red Hat (Voyez le document Programmes de formation Ansible). Objectifs du support de formation Le support de cours poursuit les objectifs suivants : Comprendre les composants de base d’Ansible Inventaires Modules Variables “Facts” Jeux Playbooks Fichiers de configuration Exécuter des commandes ad-hoc Ansible Utiliser des inventaires statiques et dynamiques pour définir des groupes d’hôtes Utiliser un script d’inventaire dynamique existant Créez des jeux et des playbooks Ansible Savoir travailler avec les modules Ansible d’usage courant Utiliser des variables pour récupérer les résultats de l’exécution d’une commande Utiliser les conditions (“conditionals”) pour contrôler l’exécution de la lecture Configurer la gestion des erreurs Créer des playbooks pour configurer les systèmes dans un état spécifié Exécuter sélectivement des tâches spécifiques dans des playbooks à l’aide de balises (“tags”) Créer et utiliser des modèles pour créer des fichiers de configuration personnalisés Travailler avec des variables et des “Facts” Ansibles Créer et travailler avec les rôles Télécharger des rôles depuis Ansible Galaxy et les utiliser Gérer le parallélisme Utilisez Ansible Vault dans les playbooks pour protéger les données sensibles Installer Ansible Tower et l’utiliser pour gérer les systèmes Utiliser la documentation fournie pour rechercher des informations spécifiques sur les modules et commandes Ansible Installer Vagrant ou Docker et les utiliser pour tester des playbooks Environnement de lab L’auteur suggère d’utiliser sa solution https://github.

                  • Projet Ansible
                  • Ce document est une description du projet Ansible à lire en regard du document de présentation sur l'Infrastructure as Code.

                    • Solution Ansible
                    • Ce document décrit la terminologie et les composants Ansible. On tentera ici de comprendre de manière sommaire les composants de base d'Ansible tels que les connexions selon les cibles, les inventaires, les modules, le mode ad-hoc, les variables, les Facts, les jeux, les playbooks ou livres de jeux, les fichiers de configuration YAML et INI, les sorties JSON et les modèles Jinja2, les rôles, Ansible Tower, l'idempotence.

                      • Installation Ansible
                      • Ce document indique les procédures d'installation de Ansible sur une machine de contrôle Red Hat, CentOS, Fedora, Debian, Ubuntu, via PIP ou encore sous Windows WSL.

                        • Configuration Ansible
                        • Ce document propose d'examiner les principales options de configuration de Ansible sur le noeud de contrôle. Son architecture son agent laisse le soin à chacun de configurer finement et personnellement le comportement par défaut de la solution. Le comportement d'Ansible peut être influencé de différentes manières : en configurant des variables d'environnement, en passant directement les paramètres sur la ligne de commande `ansible` ou `ansible-playbook`, en définissant un fichier de configuration `ansible.cfg`

                          • Exécutables Ansible
                          • Ansible vient avec plusieurs programmes. ansible est le programme initial pour l’exécution de commandes ad-hoc, ansible-config Vérifie la configuration courante d’Ansible, ansible-inventory Liste les informations de l’inventaire en format JSON ou YAML, ansible-doc Permet de consulter la documentation hors-ligne, ansible-playbook Permet d’exécuter des livres de jeu, ansible-vault Permet de chiffrer les fichiers qui contiennent des données sensibles, ansible-galaxy Permet de gérer des rôles sur Ansible galaxy, ansible-console Offre une console interactive REPL pour l’exécution de tâches Ad-Hoc, ansible-pull ansible-pull est un petit script qui prend ses informations de configuration d’un repo git et qui exécute un livre de jeu Ansible sur ce contenu, ansible-test Utilitaire de test

                            • Formats JSON et YAML Ansible
                            • Ansible présente en sortie standard les résultats de ses actions en format JSON. On présentera ici le format JSON et son traitement avec l'outil jq. Ansible utilise le format YAML pour ses fichiers de données statiques pour la facilité d'usage. Enfin, les variables sont présentées dans Ansible grâce aux modèles Jinja2.

                              • Inventaire Ansible
                              • Une inventaire peut être une collection d'hôtes définis dans un fichier plat ou un script dynamique (qui interroge un CMDB par exemple) qui génère une liste de périphériques à utiliser dans les livres de jeux. Il est peut être statique, soit défini d'avance ; il peut se créer dynamiquement ou encore être mis à jour dynamiquement. La portée d'un jeu (play) au sein du livre de jeu, le playbook, est limitée aux groupes d'hôtes définis dans l'inventaire (inventory).

                                • Modules Ansible
                                • Ce document poursuite l'objectif d'expliquer le concept, le rôle, la manipulation et les codes de retour des modules. Le développement de modules devrait faire l'objet d'un document spécifique. Les modules Ansible sont des bouts de codes écrits principalement en Python (mais tout langage supportant les retours JSON est autorisé) pour modifier l'état d'une propriété d'un hôte. Les modules sont invoqués par l'exécution de tâches soit directement dans la ligne de commande `ansible` ou dans des livres de jeu avec la commande `ansible-playbook`.

                                  • Livres de Jeu Ansible
                                  • Synthèse sur les livres de jeu.

                                    • Variables, Facts, Conditions et Boucles
                                    • Jouer avec les facts, les variables, les conditions et les boucles.

                                      • Roles Ansible-Galaxy
                                      • Il est possible d' inclure ou d'importer dans un livre de jeu des fichiers qui comprennent une liste de jeux ou de tâches. L'importation est statique et l'inclusion est dynamique. Ansible Galaxy fait référence au site Web de Galaxy https://galaxy.ansible.com à partir duquel les utilisateurs peuvent partager des rôles. Il fait aussi référence à un outil en ligne de commande pour l’installation, la création et la gestion de rôles à partir de dépôts git. Les rôles permettent de charger automatiquement certains fichiers vars_files, tasks et handlers en fonction d'une structure de fichier connue. Le regroupement de contenu par rôles permet également de les partager facilement avec d'autres utilisateurs. En bref, une organisation en rôle n'est jamais qu'une manière d'abstraire son livre de jeu. Toutes les règles de conception d'un livre de jeu sont respectées sur base d'une structure de fichiers et de dossiers connue.

                                        • Tags Ansible
                                        • Si vous avez un grand livre de jeu, il peut s'avérer utile de ne pouvoir en exécuter qu'une partie spécifique plutôt que de tout lire dans le livre. Ansible prend en charge un attribut tags: pour cette raison.

                                          • Gestion des Erreurs Ansible
                                          • Gestion des Erreurs Ansible : Ignorer les tâches en échec, Contrôler l'état changed, Contrôler l'état failed, Tâche en échec et handlers, Module fail

                                            • Gestion Connexions Ansible
                                            • Gestion des connexions dans Ansible.

                                              • Ansible Vault
                                              • Ansible-vault est un outil intégré à Ansible qui permet de chiffrer les fichiers qui contiennent des données sensibles.

                                                • Inventaire dynamique Ansible
                                                • Inventaire dynamique Ansible

                                                  • Ansible Tower AWX Ansible
                                                  • Ansible Tower est Ansible au niveau de l'entreprise. Il s’agit d’une solution Web permettant de gérer une organisation avec une interface utilisateur très simple qui fournit un tableau de bord avec des résumés de l’état de tous les hôtes, qui permet des déploiements rapides et surveille toutes les configurations. Tower permet de partager les informations d'identification SSH sans les exposer, de consigner tous les travaux, de gérer graphiquement les inventaires et de les synchroniser avec un large éventail de fournisseurs clouds.

                                                    • Glossaire Ansible
                                                    • https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html Action Une action fait partie d’une tâche qui précise les modules à exécuter et les arguments à transmettre à ce module. Chaque tâche ne peut avoir qu’une seule action, mais elle peut aussi avoir d’autres paramètres. Ad Hoc Désigne l’exécution d’Ansible pour exécuter une commande rapide, en utilisant /usr/bin/ansible, plutôt que le langage d’orchestration, qui est /usr/bin/ansible-playbook. Un exemple de commande ad hoc pourrait être le redémarrage de 50 machines dans votre infrastructure.

                                                    • Ansible Linux
                                                    • Partie III. Ansible Linux (DevOps) Partie Automation Ansible Linux. Environnement de lab Linux Ansible 1. Installation du stack Libvirtd Afin de mieux profiter des capacités de virtualisation d’un hôte Linux, il est recommandé d’installer le stack “libvirtd”. Installation des pré-requis : echo "Go to the home folder" cd echo "Install Git" apt-get -y install git echo "Clone the virt-script repo on Github" git clone https://github.com/goffinet/virt-scripts echo "Go to the virt-scripts folder" cd virt-scripts echo "Install the requirements" .

                                                      • Environnement de lab Linux Ansible
                                                      • 1. Installation du stack Libvirtd Afin de mieux profiter des capacités de virtualisation d’un hôte Linux, il est recommandé d’installer le stack “libvirtd”. Installation des pré-requis : echo "Go to the home folder" cd echo "Install Git" apt-get -y install git echo "Clone the virt-script repo on Github" git clone https://github.com/goffinet/virt-scripts echo "Go to the virt-scripts folder" cd virt-scripts echo "Install the requirements" ./autoprep.sh systemctl stop apache2 Test en lançant trois invités :

                                                        • Mode Ad-Hoc
                                                        • Source Source : https://github.com/goffinet/guide-ansible-playbooks/tree/master/ansible-linux/08-mode-adhoc Liste des modules utilisés ping setup apt service yum easy_install iptables mysql_user user group stat copy fetch file git 1. Pré-requis Le mode ad-hoc permet d’exécuter des tâches ad-hoc. Rappelons qu’une tâche n’est rien d’autre que l’appel à un module. Un fichier de configuration et un inventaire sont nécessaires. [webservers] app1 app2 [dbservers] db [all:vars] ansible_connection=ssh ansible_user=root ansible_ssh_pass=testtest 2. Se documenter Se documenter sur la commande ansible La commande ansible offre la possibilité d’exécuter des modules ansible de manière “ad-hoc”, c’est à dire tâche par tâche, commande par commande.

                                                          • Un premier playbook
                                                          • 1. Source Source : https://github.com/goffinet/guide-ansible-playbooks/tree/master/ansible-linux/09-un-premier-playbook 2. Variables Il est de bonne pratique d’organiser ses procédures avec des variables. Les variables Ansible peuvent être déclarées à différents endroits. Dans l’inventaire ou dans les group_vars/’ ou ‘host_vars/. Mais aussi dans le livre de jeu, sous forme de : valorisation directe en référence à un fichier en incluant des variables d’environnement par “inclusion” sont générés ou récoltées dynamiquement (facter) viennent de l’inventaire sont définies par défaut dans un rôle Les variables sont applées en format Jinja2 sous la forme : {{ interface }} ou encore {{ ipv4.

                                                            • Déployer un serveur Node.JS sur Centos
                                                            • Source Source : https://github.com/goffinet/guide-ansible-playbooks/tree/master/ansible-linux/10-deployer-un-serveur-nodejs-centos Objectifs Un second livre de jeux. Enregistrement de variables (register:) et appel de la variable dans une autre tâche sous condition (when:) 1. Présentation Dans cet exemple, on déploie une application Node.JS avec NPM sur Centos. Il s’agit d’un exemple de déploiement simple d’un stack de développement. 2. Variables On définit une variable node_apps_location dans le jeu. On peut définir la variable dans la ligne de commande --extra-vars="node_apps_location=/usr/local/opt/node"

                                                              • Drupal sur plateforme LAMP sur Ubuntu
                                                              • Simple livre de jeu Source Source : https://github.com/goffinet/guide-ansible-playbooks/tree/master/ansible-linux/11-lamp-drupal-ubuntu 1. Défintion du jeu --- - hosts: all become: yes vars_files: - vars.yml pre_tasks: - name: Update apt cache if needed. apt: update_cache=yes cache_valid_time=3600 handlers: - name: restart apache service: name=apache2 state=restarted 2. Variables Le livre de jeu est accompagné d’un fichier vars.yml qui contient des variables : --- # The core version you want to use (e.g. 8.5.x, 8.6.x). drupal_core_version: "8.

                                                                • Infrastructure LAMP
                                                                • Ce lab poursuit uniquement objectif pédagogique, intellectuel et démonstratif qui démarre d’une “solution d’infrastructure” parmi beaucoup d’autres possiblités. Aussi, une mise en production exigerait une autre approche probablement orientée sur l’application et les services qu’elle rendra aux clients. Source originale : https://github.com/geerlingguy/ansible-for-devops/tree/master/lamp-infrastructure. Livres de jeu adaptés : https://github.com/goffinet/ansible-for-devops/, dans le dossier lamp-infrastructure. 1. Architecture de l’infrastructure Voici l’architecture de départ constituée de six serveurs Centos 7 : Un serveur Cache/Reverse Proxy/Load Balancer “Frontend” Varnish.

                                                                  • Solutions Ansible Linux
                                                                  • Solutions

                                                                  • Ansible Réseau
                                                                  • Partie IV. Ansible Réseau Partie Ansible Réseau. Prérequis Lab Ansible automation réseau 1. Installation de GNS3 Server sur un serveur (distant) Installation de GNS3 Server sur un serveur (distant). cd /tmp curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh \ > gns3-remote-install.sh bash gns3-remote-install.sh --with-openvpn Il sera nécessaire de redémarrer matériellement le serveur. On charge une topologie mise à disposition et on attaque la gestion directement à partir de l’hôte de virtualisation ou à partir d’un hôte dans la topologie.

                                                                    • Prérequis Lab Ansible automation réseau
                                                                    • 1. Installation de GNS3 Server sur un serveur (distant) Installation de GNS3 Server sur un serveur (distant). cd /tmp curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh \ > gns3-remote-install.sh bash gns3-remote-install.sh --with-openvpn Il sera nécessaire de redémarrer matériellement le serveur. On charge une topologie mise à disposition et on attaque la gestion directement à partir de l’hôte de virtualisation ou à partir d’un hôte dans la topologie. 2. Préparation des périphériques Les noeuds gérés, s’ils sont Unix, doivent disposer de Python 2.

                                                                      • Explorer l'environnement de lab
                                                                      • Étape 1 : Dossier de travail Créer si n’est déjà fait le dossier networking-workshop et s’y rendre. mkdir networking-workshop cd networking-workshop/ Étape 2 : Vérification de la configuration Lancer la commande ansible avec l’option --version pour examiner sa configuration. ansible --versionansible 2.6.2 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.

                                                                        • Écrire un premier playbook
                                                                        • 1. Rappel théoriques Maintenant que vous en savez assez sur le fichier d’inventaire et les variables de groupe et d’hôte, nous allons écrire notre premier livre de jeu. Playbook definition for network automation La cible d’un jeu est défini par la directive hosts Définir le type de connexion : connection : network_cli À propos de gather_facts Exécuter un livre de jeu --- - name: GATHER INFORMATION FROM ROUTERS hosts: cisco connection: network_cli gather_facts: no tasks: - name: GATHER ROUTER FACTS ios_facts:ansible-playbook gather_ios_data.

                                                                          • Module documentation, Registering output & tags
                                                                          • 1. Théorie Modules Modules do the actual work in ansible, they are what gets executed in each playbook task. Typically written in Python (but not limited to it) Modules are idempotent Modules take user input in the form of parameters Network modules Ansible modules for network automation typically references the vendor OS followed by the module name. *_facts *_command *_config more modules depending on platform

                                                                            • Mise à jour de configuration
                                                                            • 1. Théorie The *_config module Vendor specific config modules allow the user to update the configuration on network devices. Different ways to invoke the *_config module: tasks: - name: ENSURE THAT THE DESIRED SNMP STRINGS ARE PRESENT ios_config: commands: - snmp-server community ansible-public RO - snmp-server community ansible-private RW - snmp-server community ansible-test ROtasks: - name: ENSURE THAT ROUTERS ARE SECURE ios_config: src: secure_router.cfg Validating changes before they are applied Ansbile lets you validate the impact of the proposed configuration using the –check flag.

                                                                              • Backing and Restoring router configuration
                                                                              • 1. Théorie Backing up router configuration --- - name: BACKUP ROUTER CONFIGURATIONS hosts: cisco connection: network_cli gather_facts: no tasks: - name: BACKUP THE CONFIG ios_config: backup: yes register: config_output The backup parameter of the ios_config module triggers the backup and automatically stores device configuration backups within a backups directory Cleaning up the backed up configuration The backed up configuration has 2 lines that should be removed: Building configuration... Current configuration with default configurations exposed : 393416 bytes The lineinfile module is a general purpose module that is used for manipulating file contents.

                                                                                • Introduction modèle Jinja2
                                                                                • 1. Théorie Templates Ansible has native integration with the Jinja2 templating engine Render data models into device configurations Render device output into dynamic documentation Jinja2 enables the user to manipulate variables, apply conditional logic and extend programmability for network automation. Using templates to generate configuration Data model: vlans: - id: 10 name: WEB - id: 20 name: APP - id: 30 name: DB Jinja2 template vlan {{ vlan.

                                                                                  • Documentation dynamique
                                                                                  • 1. Données structurées et rôles Structured data from show commands rtr2#show interfaces GigabitEthernet1 is up, line protocol is up Hardware is CSR vNIC, address is 0e56.1bf5.5ee2 (bia 0e56.1bf5.5ee2) Internet address is 172.17.16.140/16 MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full Duplex, 1000Mbps, link type is auto, media type is Virtual output flow-control is unsupported, input flow-control is unsupported ARP type: ARPA, ARP Timeout 04:00:00 .

                                                                                    • Ansible Cisco CCNA
                                                                                    • https://github.com/goffinet/ansible-ccna-lab/blob/master/README.md 1. Mise en place minimale Note pour les utilisateur de la topologie GNS3 fournie en classe, sur tous les périphériques, il sera peut-être nécessaire de re-générer les clés RSA des périphériques Cisco : enable configure terminal crypto key generate rsa modulus 2048 exit wr 1.1. Images GNS3 image IOSv (kvm) image IOSv-L2 (kvm) image Centos (kvm) 1.2. Routeurs On utilise des IOSv pour les routeurs L3 avec 8 interfaces GigabitEthernet.

                                                                                    • Ansible Avancé
                                                                                    • Partie V. Ansible Avancé Partie Ansible Avancé. Ansible et Docker 1. Démarrer une automation Ansible de Docker Voir Getting Started with Docker. 2. Ansible pour gérer des conteneurs Docker ansible-container, ansible-container on Github “ansible-container” fournit un workflow basé sur Ansible pour la création, l’exécution, le test et le déploiement de conteneurs. Ansible Container vous permet de créer des images de conteneur et de les orchestrer en utilisant uniquement les livres de jeu Ansible.

                                                                                      • Ansible et Docker
                                                                                      • 1. Démarrer une automation Ansible de Docker Voir Getting Started with Docker. 2. Ansible pour gérer des conteneurs Docker ansible-container, ansible-container on Github “ansible-container” fournit un workflow basé sur Ansible pour la création, l’exécution, le test et le déploiement de conteneurs. Ansible Container vous permet de créer des images de conteneur et de les orchestrer en utilisant uniquement les livres de jeu Ansible. Décrivez votre application dans un seul fichier YAML et, plutôt que d’utiliser un fichier Dockerfile, répertoriez les rôles Ansible qui constituent vos images de conteneur.

                                                                                        • Testing avec Ansible
                                                                                        • Source : https://gist.github.com/michaellihs/dce661376674692f0e8a5694ece2ffb6 1. Molecule Molecule aids in the development and testing of Ansible roles. https://molecule.readthedocs.io. 2. Testing avec Ansible https://www.ansible.com/blog/testing-ansible-roles-with-docker http://docs.ansible.com/ansible/latest/test_strategies.html https://www.ansible.com/blog/five-questions-testing-ansible-playbooks-roles https://github.com/chrismeyersfsu/provision_docker Testing Ansible Roles & Projects https://www.youtube.com/watch?v=5nddt6X2Alg&feature=youtu.be

                                                                                          • Jouer avec des APIs REST HTTP
                                                                                          • Voir guide-ansible-playbooks/ansible-api-gns3 Module uri Module wait_for_connection Module wait_for

                                                                                            • Provision d'instances AWS EC2 avec Ansible
                                                                                            • Provision d'instances AWS EC2

                                                                                            • Annexes
                                                                                            • Partie VI. Annexes Annexes. Bibliographie Ansible Bibliographie Ansible Documentation Ansible Jason Edelman, Network Automation with Ansible, O’Reilly Media, Inc, 2016. Lorin Hochstein, Rene Moser, Ansible: Up and Running, 2nd Edition, O’Reilly Media, Inc, 2018., Github Repo Ansible Automation Workshops Jeff Geerling, Ansible for DevOps, Server and configuration management for humans, LeanPub, 2018 Github Repo Liens Ansible Training Course for Ansible Network Automation Ansible role for hardening a Cisco IOS router or switch https://www.

                                                                                              • Bibliographie Ansible
                                                                                              • Bibliographie Ansible Documentation Ansible Jason Edelman, Network Automation with Ansible, O’Reilly Media, Inc, 2016. Lorin Hochstein, Rene Moser, Ansible: Up and Running, 2nd Edition, O’Reilly Media, Inc, 2018., Github Repo Ansible Automation Workshops Jeff Geerling, Ansible for DevOps, Server and configuration management for humans, LeanPub, 2018 Github Repo Liens Ansible Training Course for Ansible Network Automation Ansible role for hardening a Cisco IOS router or switch https://www.

                                                                                                • Notes Ansible
                                                                                                • Ansible Network Tâches supplémentaires désactiver les bannières Spécificités automation réseau : https://docs.ansible.com/ansible/2.5/network/getting_started/network_differences.html Types de connexion Ansible https://docs.ansible.com/ansible/latest/network/user_guide/platform_index.html Connexion IOS CLI Exemple IOS CLI group_vars/ios.yml ansible_connection: network_cli ansible_network_os: ios ansible_user: myuser ansible_ssh_pass: !vault... ansible_become: yes ansible_become_method: enable ansible_become_pass: !vault... ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"' Exemple NXOS CLI group_vars/nxos.yml ansible_connection: network_cli ansible_network_os: nxos ansible_user: myuser ansible_ssh_pass: !vault... ansible_become: yes ansible_become_method: enable ansible_become_pass: !vault... ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"' Exemple NX-API group_vars/nxos.

                                                                                                  • Programmes de formation Ansible
                                                                                                  • Formation Ansible Essentials: Simplicity in Automation Technical Overview Découvrez les bases de l’automatisation et de la gestion de la configuration avec Ansible et bien plus encore Les vidéos de la série L’essentiel d’Ansible : automatiser en toute simplicité - Présentation technique (DO007) sont disponibles en ligne et à la demande. Elles vous permettront de tout savoir sur Ansible : automatisation, gestion de la configuration, provisionnement, déploiement et gestion d’une infrastructure de calcul dans des environnements physiques, virtuels et cloud.