Journées du Logiciel Libre 2011 - Puppet
-
Upload
alexandre-de-dommelin -
Category
Technology
-
view
2.524 -
download
1
Transcript of Journées du Logiciel Libre 2011 - Puppet
WhoamiPuppet
En pratiqueFin
PuppetManagement de parc centralisé
Alexandre De Dommelin
Journées du Logiciel Libre 2011
19 Novembre 2011
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
$ whoami
Sysadmin @ Nestlé Nespresso SALinuxien depuis le début des années 2000Mainteneur de divers packages Debian, membre de la DebianPerl TeamContributeur à différents projets OpenSourceAdorateur de Puppet
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Règle 1 : Simplification
Sysadmin est un travail éprouvant :-)Des dizaines voire centaines de serveurs à gérer, à la fois identiquesmais différents ...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Règle 2 : Oubliez les traditions
$ for h in ‘cat hosts‘ ; dossh $h apt-get install pkg ;scp my_cfg_file $h :/etc/pkg_cfg/ssh $h /etc/init.d/pkgd reloaddone ;
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Imaginez ...
Pouvoir contrôler l’ensemble de vos serveurs de manièrecentraliséeDéployer en quelques secondes de nouveaux serveurs configurésaux petits oignons et intégrés à votre système de monitoringPouvoir vous assurer que l’ensemble de votre parc respecte vosderniers standards de configurationPouvoir mettre à jour un package / une configuration surl’ensemble de votre parc en quelques secondesTout cela sans travail répétitif et de manière traçable etsécurisée ...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
... tout cela est possible !
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet Labs
Développé en RubyCouche d’abstraction entre le Sysadmin & le systèmeDSL incluant classes, variables, selecteurs, structuresconditionnelles ...Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...Projets similaires : CFEngine, Chef ...Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet LabsDéveloppé en Ruby
Couche d’abstraction entre le Sysadmin & le systèmeDSL incluant classes, variables, selecteurs, structuresconditionnelles ...Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...Projets similaires : CFEngine, Chef ...Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet LabsDéveloppé en RubyCouche d’abstraction entre le Sysadmin & le système
DSL incluant classes, variables, selecteurs, structuresconditionnelles ...Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...Projets similaires : CFEngine, Chef ...Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet LabsDéveloppé en RubyCouche d’abstraction entre le Sysadmin & le systèmeDSL incluant classes, variables, selecteurs, structuresconditionnelles ...
Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...Projets similaires : CFEngine, Chef ...Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet LabsDéveloppé en RubyCouche d’abstraction entre le Sysadmin & le systèmeDSL incluant classes, variables, selecteurs, structuresconditionnelles ...Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...
Projets similaires : CFEngine, Chef ...Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet LabsDéveloppé en RubyCouche d’abstraction entre le Sysadmin & le systèmeDSL incluant classes, variables, selecteurs, structuresconditionnelles ...Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...Projets similaires : CFEngine, Chef ...
Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Généralités
Logiciel libre (GNU GPL) développé par Puppet LabsDéveloppé en RubyCouche d’abstraction entre le Sysadmin & le systèmeDSL incluant classes, variables, selecteurs, structuresconditionnelles ...Multi-plateformes : Linux, Solaris, *BSD, AIX, HP-UX, OSX,Windows ...Projets similaires : CFEngine, Chef ...Utilisé par quelques petites sociétés
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Architecture
Architecture client / serveur
Communications sécurisées over SSL (Secure Socket Layer) :Polling automatique : Client -> Serveur tcp/8140Puppetrun : Serveur -> Client tcp/8139
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
PuppetMaster
CA (Certification Authority) pour signer & authentifier lesclientsCompile le code en catalogueServeur de distribution de fichiers
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
1 Installation d’un nouvel OS minimal (incluant les packagespuppet) - Ou installation des packages puppet sur un systèmeexistant
2 Premier run du daemon puppet3 Génération du certificat client4 Envoi d’une CSR à PuppetMaster5 Signature du certificat par PuppetMaster6 Puppetisation (tm) du système !
PackagesDaemonsConfigurationsUtilisateursPermissions...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
1 Installation d’un nouvel OS minimal (incluant les packagespuppet) - Ou installation des packages puppet sur un systèmeexistant
2 Premier run du daemon puppet
3 Génération du certificat client4 Envoi d’une CSR à PuppetMaster5 Signature du certificat par PuppetMaster6 Puppetisation (tm) du système !
PackagesDaemonsConfigurationsUtilisateursPermissions...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
1 Installation d’un nouvel OS minimal (incluant les packagespuppet) - Ou installation des packages puppet sur un systèmeexistant
2 Premier run du daemon puppet3 Génération du certificat client
4 Envoi d’une CSR à PuppetMaster5 Signature du certificat par PuppetMaster6 Puppetisation (tm) du système !
PackagesDaemonsConfigurationsUtilisateursPermissions...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
1 Installation d’un nouvel OS minimal (incluant les packagespuppet) - Ou installation des packages puppet sur un systèmeexistant
2 Premier run du daemon puppet3 Génération du certificat client4 Envoi d’une CSR à PuppetMaster
5 Signature du certificat par PuppetMaster6 Puppetisation (tm) du système !
PackagesDaemonsConfigurationsUtilisateursPermissions...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
1 Installation d’un nouvel OS minimal (incluant les packagespuppet) - Ou installation des packages puppet sur un systèmeexistant
2 Premier run du daemon puppet3 Génération du certificat client4 Envoi d’une CSR à PuppetMaster5 Signature du certificat par PuppetMaster
6 Puppetisation (tm) du système !
PackagesDaemonsConfigurationsUtilisateursPermissions...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
1 Installation d’un nouvel OS minimal (incluant les packagespuppet) - Ou installation des packages puppet sur un systèmeexistant
2 Premier run du daemon puppet3 Génération du certificat client4 Envoi d’une CSR à PuppetMaster5 Signature du certificat par PuppetMaster6 Puppetisation (tm) du système !
PackagesDaemonsConfigurationsUtilisateursPermissions...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Puppetisation
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Clients - Au quotidien
Chaque client :Se connecte à intervalles réguliers au PuppetMasterRecupère le catalogue des resourcesDetermine l’ordre dans lequel appliquer ces dernièresPasse en revue l’ensemble des resources configurées, les corrigele cas échéantEnvoit un rapport à PuppetMaster
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Caractéristiques Clients - facter
Utilisation de "facter" pour le rassemblement de meta-données surle client :
is_virtual : Machine physique ou virtuelleoperatingsystem : Distribution utiliséeoperatingsystemrelease : Version de la distributionip_adresss : Adresse IP de la machineuptime : Uptimeselinux : Extensions SELinux activées ou non...
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Langage
Basé sur RubyLangage déclaratifAbstraction : "user" et non "/etc/passwd" et/ou"/etc/shadow"Vous specifiez la configuration, Puppet se charge del’implémentation
Pensez QUOI et non COMMENT
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un package - Old School
apt-get install perl
ou : yum install perlou encore : ports install perlvoire même : emerge perl
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un package - Old School
apt-get install perlou : yum install perl
ou encore : ports install perlvoire même : emerge perl
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un package - Old School
apt-get install perlou : yum install perlou encore : ports install perl
voire même : emerge perl
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un package - Old School
apt-get install perlou : yum install perlou encore : ports install perlvoire même : emerge perl
Et également aussi : rpm -Uvh perl.xxx.rpm, up2date perl, finkinstall perl, pkg_add perl, pkg-get perl ...Pas facile d’avoir un script efficace dans un environnementhétérogène ! !
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un package - Puppet Style
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un service - Old School
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Installation d’un service - Puppet Style
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Ressources
Liste (non exhaustive) des ressources supportées par Puppet :Utilisateurs & GroupesPackagesServicesFichiers / DossiersCrontabsPoints de montagesNagiosHosts filesSELinuxClés SSH
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Packages
Plus de 20 fournisseurs de packages supportésCouche d’abstraction pour l’OS ciblePlusieurs états disponibles : absent, present, latestUpgrade facile : remplacement de present par latest
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Services
Supporte 10 types de framework d’InitCouche d’abstraction pour l’OS ciblePermet un controle granulaire (démarré au boot, surveillancedu statut...)Système de notification permettant de reloader un service si unde ses fichiers de configuration a été mis à jour.
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Fichiers / Dossiers
Gestion des permissions et appartenancesPossibilité de déployer des fichiers "statiques" ou adaptés ausystème cible par le biais de templates ERBSupporte plusieurs types de checksum pour les vérificationsd’intégritéSupporte la création de liens symboliques
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Un node ?
Décrit un clientPossède un certain nombre de modules qui lui sont appliquésPeut hériter des propriétés d’un autre nodeNode "default" s’appliquant à l’ensemble des clients n’ayantpas de node configuré.Support d’expressions régulières pour la sélection de plusieursclients "similaires"
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Un module ?
Collection de classes, definitions (fonctions) et de ressources
PortableAutonome
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Un module ?
Collection de classes, definitions (fonctions) et de ressourcesPortable
Autonome
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Un module ?
Collection de classes, definitions (fonctions) et de ressourcesPortableAutonome
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Structure d’un module
manifests/
Fonctionnement / logique du module
files/
Fichiers statiques déployables par le module
templates/
Fichiers "dynamiques" (templates ERB) déployables par le module
lib/
Librairies Ruby relatives au module
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Exemple de module simple : snmp
snmp/manifests/init.pp : snmp/files/snmpd.conf :
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Module simple : snmp - Problématiques
Actions réaliséesInstallation du paquet net-snmpDéploiement du fichier de configuration standardActivation du service snmpd et rechargement de ce dernier encas de mise à jour du fichier de configuration
ProblèmeLa disponibilité du package "net-snmp" dépend de la distributionutilisée.Il est donc impossible d’utiliser ce module dans le cadre d’unenvironnement hétérogène (Debian + RedHat par exemple).
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Module simple : snmp - Le retour
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
StoreConfigs
Option de puppetmasterdPrincipale application : Exportation de resources
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Exportation de ressources ?
Echange d’informations entre nodesConfigurer un node en fonction d’un autre node
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Exportation : Exemple 1
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Exportation : Exemple 2
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
IntroductionArchitectureLangageResource Abstraction Layer (RAL)Nodes & Modules
Exportation : Auto-configuration de Nagios
Utilise le type "Nagios" natifprésent dans PuppetDéfinition d’un host / servicesur le serveur Nagios, basé surles caractéristiques de votreserveur à monitorerAucune action manuelle !
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Environnements
Tester en évitant les effets indésirables
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Environments
Support natif d’environnements muliplesProcess QA : Développer, tester & valider avant de déployerles changements en productionTraçabilité : Intégration avec un VCS (subversion, git ...)Par défaut, utilisation de l’environnement "production"
Bascule entre environnementsForcer manuellement un client à récupérer le catalogue d’unenvironnement spécifique :$ /usr/sbin/puppetd –environment=<nom_environnement> –test
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Intégration avec Subversion
2 environnements :Development : "trunk" subversionProduction : branche séparée
Modifications sur l’environnement "development" puis commitéesdans le trunk :
Pre-Commit Hook : Validation de syntaxePost-Commit Hook : svnspam
Cycle de tests / validations terminé : merge dans la branche"production"
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Reporting
Comment savoir ce qui se passe sur mon infra maintenant que toutest automatisé ?
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Puppet Dashboard
Interface Web simple permettant de visualiser en temps-réel l’étatde votre infrastructure.
InstallationPuppet Dashboard n’est pas fourni avec PuppetMaster, il est doncnécessaire de l’installer séparement.
ConfigurationNécessite de configurer les clients pour envoyer leurs rapports(report = true) et de puppetmaster pour les transmetre à PuppetDashboard (reports = puppet_dashboard)
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Puppet Dashboard - Ecran principal
Liste des derniers nodesayant contacté PuppetMasterListe des derniers nodes mis àjourGraphe montrant le ratioréussite/erreurs
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Puppet Dashboard - Vue "Nodes"
Configuration actuelle dunodeInformations sur les dernièresexecutions du nodeGraph de la durée desdernières exécutionsListe des dernierschangements effectués sur lenode
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Puppet Dashboard - Vue "Rapports"
Rapport complet sur uneexecution (nombre deressources affectées, rapportintégral remonté par le node,statistiques, benchmarks ...)
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Packages
PuppetMaster
RedHat / CentOS & Derivés (EPEL) : yum install puppetpuppetmasterDebian & Dérivés : apt-get install puppet puppetmaster
Puppet Node
RedHat / CentOS & Derivés (EPEL) : yum install puppetDebian & Dérivés : apt-get install puppet
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Comandes utiles - Client
Connexion + enregistrement inital auprès de PuppetMaster
$ puppetd –server=puppetmaster.domain.tld –waitforcert=60 –test
Forcer le raffraichissement$ puppetd –test
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Commandes utiles - PuppetMaster
Lister les requetes de signature de certificats en attente
$ puppetca -l
Signer un certificat en attente
$ puppetca -s nom_du_certificat
Signer toutes les requetes en attente
$ puppetca -s -a
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Démos !
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Puppetisation d’un système neuf
Contraintes : Déployer rapidement un nouveau serveur intégré dansl’environnement existant.Départ : 1 serveur fraîchement installé via KickStart
Inscription sur puppetmasterPuppetisation initiale
Install & configuration NTP, SSH, Rsyslog, SNMP, Munin,PostfixInstall du set de packages de base configuréCréation des comptes sysadmin de base + dotfiles & clefs SSHApplication des politiques de standard de hardening,configurations PAMDéploiement du /etc/sudoers standardCréation du compte service OSSEC + clef SSH
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
EnvironnementsReportingInstallationCommandes utilesDémos
Mise en place d’un système de load-balancing
Contraintes : Déployer rapidement un système de load-balancingHautement Disponible Départ : 2 micro-serveurs fraîchementsinstallés via KickStart
Inscription des 2 instances sur puppetmasterPuppetisation initiale
Install & configuration NTP, SSH, Rsyslog, SNMP, Munin,PostfixInstall du set de packages de base configuréCréation des comptes sysadmin de base + dotfiles & clefs SSHApplication des politiques de standard de hardening,configurations PAMDéploiement du /etc/sudoers standardCréation du compte service OSSEC + clef SSH
Rajout des modules haproxy & keepalived + paramètres
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
Questions ?
Alexandre De Dommelin Puppet Management de parc centralisé
WhoamiPuppet
En pratiqueFin
Merci !
Présentation bientôt disponible (après un café) surhttp ://www.tuxz.net/blog/
mailto : alex at tuxz.nettwitter / identi.ca : @adedommelinIRC : adedommelin (oftc/freenode)
Alexandre De Dommelin Puppet Management de parc centralisé