Puppet - l infrastructure automatisée



Documents pareils
Automatisation de l administration système avec

Automatisation de l administration système

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

GESTION D INFRASTRUCTURE AVEC PUPPET

Gestion de configuration

Gérer ses environnements de développement avec Vagrant RMLL 2012

Le cloud computing au service des applications cartographiques à haute disponibilité

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

L'automatisation open source pour SI complexes

Eclipse Process Framework et Telelogic Harmony/ITSW

sshgate Patrick Guiran Chef de projet support

Grid 5000 : Administration d une infrastructure distribuée et développement d outils de déploiement et d isolation réseau

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Problématique. Techniques générales. Déploiement Windows. Déploiement Linux. Déploiement Mac OS X. Applications Windows. Applications Linux

Notre Catalogue des Formations IT / 2015

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

MSP Center Plus. Vue du Produit

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

OpenStack, l Infrastructure as a Service libre

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

ADMINISTRATION DE RESEAUX SOUS LOGICIEL «OPEN SOURCE»

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Sécurité des systèmes d exploitation

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

DenyAll Detect. Documentation technique 27/07/2015

Guide Installation Serveur Extensive Testing

Opérateur global de la performance IT

Guide Installation Serveur Extensive Testing

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Retour d expérience de la plateforme de virtualisation sous Proxmox VE à l IPHC journée SysAdmin du 04/12/2014 à l INRA de Toulouse

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

INDUSTRIALISATION ET RATIONALISATION

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Orchestrer son cloud OpenStack avec Heat

Vanilla : Virtual Box

Installation et Configuration Centralisées et Automatisées d une Ferme de Serveur sous SLC6

Groupe Eyrolles, 2004 ISBN :

PRODUCTS LIST (updated 11th January 2010)

Rationalisation et évolution des assets, licences et contrats informatiques. Philippe ASTIER Software Technical Professionals

Samson BISARO Christian MAILLARD

Guide d installation de SugarCRM Open Source version 4.5.1

LES SOLUTIONS OPEN SOURCE RED HAT

Spécialiste Systèmes et Réseaux

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Catalogue des Formations Techniques

Evidian IAM Suite 8.0 Identity Management

Description de l implantation dans le centre d examen (nom du service ou de l outil et caractéristiques techniques)

DSI - Pôle Infrastructures

Lieberman Software Corporation

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

IBM Tivoli Monitoring, version 6.1

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

EXALOGIC ELASTIC CLOUD MANAGEMENT

Joomla! Création et administration d'un site web - Version numérique

Didier RIGOLI. Freelance, services IT: Architecture et design, Gestion de projets, Management Opérationnel.

Zimbra Collaboration 8.X

Instructions Mozilla Thunderbird Page 1

Expert technique J2EE

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

Déployer Linux en toute sérénité. Francois Chazalon Directeur Marketing

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Installer un domaine DNS

2008 : Diplômé Master 2 ASR (Architecture Système et Réseaux) Université d Evry (Evry - 91)

Windows Server Chapitre 1: Découvrir Windows Server 2008

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

FusionInventory. Guillaume Rousse Journées francophones de Perl 2011

Le Cloud Open-Mind! Emilien Macchi

Le tout à l usage dans un IaaS public «Comment une plateforme industrielle permet de déployer des usages applicatifs en accord avec cette promesse»

Présentation des composants WhatsUp Companion & WhatsUp Companion Extended. Version Mars Orsenna

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Authentification unifiée Unix/Windows

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

Architectures informatiques dans les nuages

JAN OLIVIER Expert Supervision Architecte & Administrateur système

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Industrialisation du déploiement d'applications et de socles techniques

Cloud et PaaS: les développeurs reprennent le

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Formation en Logiciels Libres. Fiche d inscription

Editing and managing Systems engineering processes at Snecma

Curriculum Vitae Administrateur Systèmes et Réseaux

Tutoriel compte-rendu Mission 1

Serveur d'application à la juste taille

MATRICE DES FONCTIONNALITES

Configurer OCS Inventory NG comme outil d inventaire

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Simple Database Monitoring - SDBM Guide de l'usager

Transcription:

2 mars 2010

Cycle de vie d une machine Le travail du sysadmin Pratiques courantes... le quotidien du sysadmin...

1. Installation de l OS Pourquoi Le travail du sysadmin Pratiques courantes

2. Configuration du système Le travail du sysadmin Pratiques courantes

3. Maintenance Pourquoi Le travail du sysadmin Pratiques courantes mise à jour, dépannage, reconfiguration, dépannage, patch, debuggage, déconfiguration, modification, mise à jour, etc...

Configuration manuelle Pourquoi Le travail du sysadmin Pratiques courantes Login and Just Do It! inadapté à la croissance répétitif, erreurs d inattention pas d historique / documentation des interventions pas toujours reproductible de façon fiable grande rigueur requise (surtout en équipe)!

Le travail du sysadmin Pratiques courantes Gestion centralisée scripts shell / perl / Makefile réplication de fichiers avec rsync centralisation du stockage / authentification for i in $SERVER LIST ; do ssh root@${i}... ; done gestion des erreurs? exceptions? logs? undo? différentes versions? différents OS? différentes architectures? solutions fait maison, évoluant mal, intransposables ailleurs.

Le travail du sysadmin Pratiques courantes Procédures d installation Documentation des recettes d installation et configuration (howtos, wikis, etc) procédures pas-à-pas, checklists rapidement périmés constitués à 90% de commandes exécutables copy-n-paste man fix faits dans l urgence pas remontés dans la doc.

Le travail du sysadmin Pratiques courantes Automatisation, rationalisation Installation automatisée (FAI, kickstart, jumpstart, etc) duplicata de modèles, partimage, Norton Ghost, etc. pas de maintenance / maintenance manuelle maintenance du template et lorsque les besoins évoluent avec le temps?

Le travail du sysadmin Pratiques courantes Croissance OS / serveurs devenus des consommables augmentation du nombre de serveurs (virtualisation). augmentation du nombre de sysadmins? augmentation du nombre d heures sup?

Le travail du sysadmin Pratiques courantes Inventaire, documentation nécessité d inventorier les machines documentation du fonctionnement de l infra. laborieux, ennuyeux, jamais prioritaire rapidement périmé / désynchronisé.

Le travail du sysadmin Pratiques courantes Conclusion Besoin de : gérer la configuration du système automatiser la phase de maintenance formaliser les recettes ne pas résoudre 2x le même problème favoriser la réutilisation du savoir-faire... contenir l entropie et le chaos dans le parc de serveurs!

Concepts Langage Client Serveur James White Infrastructure Manifesto (extraits) There is one system, not a collection of systems The actual state of the system must self-correct to the desired state The only authoritative source for the actual state of the system is the system The entire system must be deployable using source media and text files Do not use any product with configurations that are not machine parsable and machine writeable Do not improve manual processes if you can automate them instead http://loki.websages.com/ws/

Concepts Langage Client Serveur

Concepts Langage Client Serveur Puppet Puppet, c est : un framework client-serveur un langage de programmation une boîte à outils pour le sysadmin un logiciel libre écrit en Ruby supporté par la majorité des UNIX modernes.

Concepts Langage Client Serveur Puppet Puppet, ce n est pas : un outil d inventaire un service de distribution de logiciels un remplaçant pour FAI / kickstart / jumpstart (obligatoirement) pour gérer l ensemble du système une fin en soi une bonne raison d être moins rigoureux!

Concepts Langage Client Serveur Caractéristiques du langage déclaratif, idempotent (Makefile) what not how permet de décrire des collections de ressources syntaxe facile et abordable.

Concepts Langage Client Serveur Ressources Décrit les propriétés de différents types d objets : user file package cron clé ssh etc. crée si absent, corrige si différent pas seulement des fichiers ou des paquets! abstraction des spécificités propres à l OS déclarés dans des manifests.

Concepts Langage Client Serveur Exemple de ressource file { "/etc/resolv.conf": ensure => present, owner => "root", group => "root", mode => 0644, content => " search camptocamp.com nameserver 10.27.21.1 nameserver 10.26.21.1 ", }

Concepts Langage Client Serveur Ressources : inter-dépendances package { ["apache", "tomcat"]: ensure => installed } service { "apache": ensure => running, require => Package["apache"], } service { "tomcat": ensure => running, require => Package["tomcat"], before => Service["apache"], }

Concepts Langage Client Serveur Ressources : notification file { "/etc/apache/httpd.conf": ensure => present, content => template("example.com/httpd.conf.erb"), notify => Service["apache"], } service { "apache": ensure => running, restart => "apachectl configtest && apachectl graceful", }

Concepts Langage Client Serveur Attributs, conditions if ( $use nagios == "true" ) { } $warn = $processorcount * 3 $crit = $processorcount * 6 monitoring::check { "Load Average": command => "check load", options => "-w ${warn} -c ${crit}", }

Concepts Langage Client Serveur Classes Regroupement de ressources, héritage : class apache { package { "apache": ensure => present } } service { "apache": ensure => running, require => Package["apache"], } file { "/var/www": ensure => directory, }

Concepts Langage Client Serveur Définitions define apache::vhost ($ensure=present, $source) { } file { "/etc/apache2/sites-enabled/${name}.conf": ensure => $ensure, content => template("apache/vhost.conf.erb"), notify => Service["apache"], } file { "/var/www/$name": ensure => directory, source => $source, recurse => true, }

Concepts Langage Client Serveur Nodes Déclaration des classes/définitions à appliquer sur une machine : node "websrv1.example.com" { include apache include mysql include php } apache::vhost { "www.example.com": ensure => present, source => "puppet:///web/example.com/htdocs/", }

Concepts Langage Client Serveur Caractéristiques du client (puppetd) interpréteur de code puppet agent ou cron (par défaut 2x/h) envoie les facts de l OS au serveur reçoit la description de sa config depuis le serveur (catalogue).

Concepts Langage Client Serveur Facter données caractérisant le système accessible sous forme de variable dans le langage puppet facilement extensible, Ruby.

Concepts Langage Client Serveur Facter : exemple root@example:~# facter grep operating operatingsystem => RedHat operatingsystemrelease => 5

Concepts Langage Client Serveur Utilisation facts case $operatingsystem { RedHat: { include apache-redhat } Debian: { include apache-debian } }

Concepts Langage Client Serveur Caractéristiques du serveur (puppetmasterd) authentifie les clients par certificat SSL compile les ressources de chaque client définition des nodes (fichiers texte, ldap ou script) log de toutes les opérations fileserver moteur de template. Mais surtout : centralise les facts de chaque client dans une DB centralise et réexporte les ressources de chaque client.

Concepts Langage Client Serveur Companion tools foreman / dashboard interface web puppetdoc génération de documentation puppetrun forcer un run à partir du serveur puppetca gestion des certificats SSL puppet CLI parser ralsh ressources puppet pi référence du langage.

Centralisation de la gestion Tout converge vers le serveur puppet : inventaire / annuaire outils de gestion (monitoring, métriques, audit, backups, etc) savoir-faire documentation / logs d intervention

Infrastructure programmable Paradigme propre au développement : séparation code générique/spécifique, librairies de fonctions code open-source discipline imposée par un VCS : diff, branch, revert, blame, etc workflow : dev test prod code review inline documentation méthodologies dev (XP, Agile, Scrum) tests unitaires, continuous integration.

Bénéfices configurations homogènes pas d intervention manuelle en production recettes reproductibles de façon fiable et précise totalement automatisable (cloud computing, diskless servers) mutualisation et partage du savoir-faire sysadmin. Manifesto de James White devenu concret!

Utilisation Implémentations Alternatives Dans le monde Uni Stanford, Harvard Google, Ebay Fedora, RedHat Alfresco, Oracle digg.com, guardian.co.uk, sans.org hyves.nl (3000 serveurs) ReductiveLabs.

Utilisation Implémentations Alternatives En Suisse PSI EPF* Postfinance local.ch, swisstopo.ch Puzzle ITC Nimag Networks Camptocamp

Utilisation Implémentations Alternatives Camptocamp : retour d expérience env. 45 postes de travail Ubuntu en Suisse et en France 2-3 minutes pour l installation d un nouveau poste. chaque projet 3 serveurs (dev/pré-prod/prod) déploiement en production sans intervention manuelle plus de 450 serveurs et postes de travail sous Debian/Ubuntu/Red Hat pics de charge délégués à Amazon EC2.

Utilisation Implémentations Alternatives Autres outils chef cfengine bcfg2 etc. http://en.wikipedia.org/wiki/comparison_of_open_ source_configuration_management_software

Futur version 1.0 nouveaux types de ressources common modules repository windows, autre périphériques punc (puppet + func) jruby DSL alternatifs.

Ressources http://docs.reductivelabs.com/ puppet-users@googlegroups.com #puppet sur irc.freenode.net Pulling Strings with Puppet chez Apress PuppetCamp 27-28 Mai, Ghent, BE http://reductivelabs.com/training/ http://spug.ch/

Résumé besoin d industrialisation et de gestion automatisée de l infra qualité, cohérence, intégrité : pas réalisable manuellement puppet décrit, distribue et réalise les configurations déclare l état du système dans son ensemble, sous forme de code mutualisation et partage du savoir-faire. Questions?