{"id":134,"date":"2017-05-19T14:52:25","date_gmt":"2017-05-19T13:52:25","guid":{"rendered":"https:\/\/www.riwan.fr\/?page_id=134"},"modified":"2017-06-05T10:37:34","modified_gmt":"2017-06-05T09:37:34","slug":"ansible_projet","status":"publish","type":"page","link":"https:\/\/www.riwan.fr\/index.php\/ansible_projet\/","title":{"rendered":"Ansible &#8211; Projet"},"content":{"rendered":"<p><strong>Pr\u00e9sentation<\/strong><\/p>\n<p>Ansible permet le d\u00e9ploiement et l&rsquo;automatisation de t\u00e2che. Je le pr\u00e9sente ici sous forme de projet car j&rsquo;ai d\u00e9couvert cette technologie et j&rsquo;ai d\u00fb la mettre en oeuvre en entreprise pendant mon stage de 6 mois.<\/p>\n<p><strong>Contexte<\/strong><\/p>\n<p>Durant mon stage chez Naitways, ma mission consistait \u00e0 d\u00e9ployer r\u00e9guli\u00e8rement de nouvelles machines. Etant une petite entreprise, on fonctionnait de fa\u00e7on assez artisanale lors de mon arriv\u00e9e. Avec le d\u00e9veloppement de l&rsquo;entreprise ainsi que sa croissance, on a du r\u00e9fl\u00e9chir sur de nouvelles m\u00e9thodes de d\u00e9ploiements, pour \u00e9conomiser du temps et de l&rsquo;\u00e9nergie.<\/p>\n<p><strong>Projet<\/strong><\/p>\n<p>Le projet consistait \u00e0 automatiser le d\u00e9ploiement de nouvelles machines dans un environnement VMWare.<\/p>\n<p>En effet, le d\u00e9ploiement devait en premier lieu se faire via des playbooks (scripts), puis via une interface web de mani\u00e8re \u00e0 le rendre plus simple d&rsquo;utilisation.<\/p>\n<p>J&rsquo;ai donc commenc\u00e9 la mission par cr\u00e9er les premiers playbooks. Ils permettaient de cloner des machines (depuis un template) sur un vCenter en se connectant \u00e0 celui-ci via les modules vSphere impl\u00e9ment\u00e9s dans ansible : http:\/\/docs.ansible.com\/ansible\/vsphere_guest_module.html<\/p>\n<p>Une fois la cr\u00e9ation de VM par ansible fonctionnelle, j&rsquo;ai entam\u00e9 la cr\u00e9ation des playbooks pour chaque service : apache, mysql, vsftpd, phpmyadmin ainsi que la configuration r\u00e9seau de la machine. On a choisi de partir sur ces services basiques pour le d\u00e9but, mais chaque playbook \u00e9tant ind\u00e9pendant des autres, rien ne nous emp\u00e8che de cr\u00e9er de nouveaux playbooks pour de nouveaux services dans le futur, ex : nginx, haproxy ou varnish.<\/p>\n<p>Voici un exemple de playbook standard pour installer\/configurer un service sur un template : <\/p>\n<p><img src=\"https:\/\/www.riwan.fr\/wp-content\/uploads\/2017\/06\/playbook_ansible.png\" alt=\"Playbook Ansible VSFTPD\" \/><\/p>\n<p>Une fois le d\u00e9ploiement des services OK, on avait juste \u00e0 renseigner les variables n\u00e9cessaires : le nom du site, bases de donn\u00e9es, mot de passes, etc.. et le d\u00e9ploiement s&rsquo;effectuait correctement.<\/p>\n<p>Cela nous a fait gagn\u00e9 beaucoup de temps car avec ce nouvel outil on pouvait d\u00e9ployer des machines en moins de 30secondes, contre 30min avant.<\/p>\n<p>Ansible est aujourd&rsquo;hui utilis\u00e9 pour d&rsquo;autres besoins, tel que le r\u00e9f\u00e9rencement de toutes nos machines et l&rsquo;ex\u00e9cution de playbook. Notamment pour mettre \u00e0 jour des paquets sur l&rsquo;ensemble du parc (ex : openssl) ou encore l&rsquo;ajout de nouveaux services comme netdata ou teleport.<\/p>\n<p><strong>Comp\u00e9tences li\u00e9es<\/strong><\/p>\n<p><a href=\"https:\/\/www.riwan.fr\/index.php\/ansible\/\">Ansible<\/a><br \/>\n<a href=\"https:\/\/www.riwan.fr\/index.php\/linux\/\">GNU\/Linux<\/a><\/p>\n<p><strong><a href=\"https:\/\/www.riwan.fr\/#realisations\">Retour aux r\u00e9alisations<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation Ansible permet le d\u00e9ploiement et l&rsquo;automatisation de t\u00e2che. Je le pr\u00e9sente ici sous forme de projet car j&rsquo;ai d\u00e9couvert cette technologie et j&rsquo;ai d\u00fb la mettre en oeuvre en entreprise pendant mon stage de 6 mois. Contexte Durant mon stage chez Naitways, ma mission consistait \u00e0 d\u00e9ployer r\u00e9guli\u00e8rement de nouvelles machines. Etant une petite<a href=\"https:\/\/www.riwan.fr\/index.php\/ansible_projet\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/pages\/134"}],"collection":[{"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":10,"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/pages\/134\/revisions"}],"predecessor-version":[{"id":148,"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/pages\/134\/revisions\/148"}],"wp:attachment":[{"href":"https:\/\/www.riwan.fr\/index.php\/wp-json\/wp\/v2\/media?parent=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}