SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
cobbler et Puppet

   William Hoffmann


Programme

Détails techniques

Introduction

cobbler
                                     Pour une administration sereine et
Puppet                                          détendue
Démonstration

Pour finir
                                                     William Hoffmann - Senior Instructor

                                                                       Red Hat France


                                                                     12 Décembre 2010




                                                                            1/23


                       Pour une administration sereine et détendue                         ± Forward
cobbler et Puppet
                        Programme des réjouissances
   William Hoffmann


Programme

Détails techniques         1       Détails techniques
Introduction

cobbler

Puppet

Démonstration

Pour finir




                                                                     2/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Programme des réjouissances
   William Hoffmann


Programme

Détails techniques         1       Détails techniques
Introduction

cobbler

Puppet                     2       Introduction
Démonstration

Pour finir




                                                                     2/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Programme des réjouissances
   William Hoffmann


Programme

Détails techniques         1       Détails techniques
Introduction

cobbler

Puppet                     2       Introduction
Démonstration

Pour finir
                           3       cobbler




                                                                     2/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Programme des réjouissances
   William Hoffmann


Programme

Détails techniques         1       Détails techniques
Introduction

cobbler

Puppet                     2       Introduction
Démonstration

Pour finir
                           3       cobbler

                           4       Puppet




                                                                     2/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Programme des réjouissances
   William Hoffmann


Programme

Détails techniques         1       Détails techniques
Introduction

cobbler

Puppet                     2       Introduction
Démonstration

Pour finir
                           3       cobbler

                           4       Puppet

                           5       Démonstration




                                                                     2/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Programme des réjouissances
   William Hoffmann


Programme

Détails techniques         1       Détails techniques
Introduction

cobbler

Puppet                     2       Introduction
Démonstration

Pour finir
                           3       cobbler

                           4       Puppet

                           5       Démonstration

                           6       Pour finir

                                                                     2/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Matériel utilisé
   William Hoffmann


Programme                  Pour cette courte présentation j’ai utilisé :
Détails techniques
                               Mon fidèle T60 (2Go de RAM/160Go)
Introduction
                                                  1 réseau bridgé vers l’exterieur
cobbler
                                                  1 réseau privé en 172.31.10.0/16 pour
Puppet
                                                  l’infrastructure de démo.
Démonstration

Pour finir
                                       Une bonne vieille F11
                                       3 machines virtuelles
                                                  1 machine virtuelle : server1.example.com en
                                                  RHEL-5.4 :
                                                              cobbler + puppet
                                                              dhcp sur le réseau example.com (172.31.10.0/16)
                                                              dns pour example.com
                                                  2 machines virtuelles : {mail,web}.example.com
                                                              Installées via cobbler et configurées via puppet
                                                              clientes dhcp sur le réseau example.com
                                                              (172.31.10.0/16)
                                                                              3/23


                       Pour une administration sereine et détendue                              ± Back     ± Forward
cobbler et Puppet
                        La fin de la bidouille
   William Hoffmann
                        1000 comme 10
Programme

Détails techniques         L’utilisation conjointe de cobbler et Puppet permet
Introduction               d’optimiser et d’industrialiser le cycle classique d’un
cobbler
                           Système d’Information (le fameux SI) :
Puppet

Démonstration

Pour finir




                                                                     4/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        La fin de la bidouille
   William Hoffmann
                        1000 comme 10
Programme

Détails techniques         L’utilisation conjointe de cobbler et Puppet permet
Introduction               d’optimiser et d’industrialiser le cycle classique d’un
cobbler
                           Système d’Information (le fameux SI) :
Puppet

Démonstration
                                       Test
Pour finir




                                                                     4/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        La fin de la bidouille
   William Hoffmann
                        1000 comme 10
Programme

Détails techniques         L’utilisation conjointe de cobbler et Puppet permet
Introduction               d’optimiser et d’industrialiser le cycle classique d’un
cobbler
                           Système d’Information (le fameux SI) :
Puppet

Démonstration
                                       Test
Pour finir                              Pre-prod




                                                                     4/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        La fin de la bidouille
   William Hoffmann
                        1000 comme 10
Programme

Détails techniques         L’utilisation conjointe de cobbler et Puppet permet
Introduction               d’optimiser et d’industrialiser le cycle classique d’un
cobbler
                           Système d’Information (le fameux SI) :
Puppet

Démonstration
                                       Test
Pour finir                              Pre-prod
                                       Prod
                           cobbler et Puppet nous permettent de mettre en pratique
                           le vieil adage : "Don’t scale with using people"




                                                                     4/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        cobbler et Puppet
   William Hoffmann
                        C’est quoi ces trucs ?
Programme

Détails techniques         cobbler permet la configuration rapide et simple
Introduction               d’environnements d’installation réseau, qui permettent
cobbler
                           d’installer rapidement et simplement de nouveaux
Puppet
                           systèmes en ayant plusieurs profiles disponibles.
Démonstration
                           Puppet est un système pour automatiser les tâches
Pour finir
                           d’administration système classiques : déployement de
                           fichiers de configuration, installation de nouveaux
                           logiciels, configuration de services.




                                                                     5/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Architecture de cobbler
   William Hoffmann


Programme                  cobbler un frontend unique pour utiliser et configurer un
Détails techniques         serveur dhcp, un serveur tftp, il va nous permettre aussi
Introduction
                           de gérer les différentes versions de nos distributions
cobbler
                           (Fedora {6..12}, RHEL {4,5}-{U0-Un})
Puppet
                           cobbler va nous permettre de garder synchronisés :
Démonstration

Pour finir                              DHCP.
                                       TFTP.
                                       DNS.
                                       Profiles de machines.
                                                  dépots & distributions.
                                                  fichiers kickstarts.




                                                                      6/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Installation
   William Hoffmann


Programme                  Sur fedora, cobbler est dans les dépôts officiels il suffit de
Détails techniques         faire :
Introduction
                           [admin@server1 ~] sudo /usr/bin/yum -y install cobbler
cobbler

Puppet                     Sur une RHEL le moyen le plus simple est d’utiliser le
Démonstration              dépôt EPEL, il faut donc installer le package epel-release
Pour finir                  et utiliser yum :
                           [admin@server1 ~] sudo /usr/bin/rpm -ivh 
                           epel-release..rpm
                           [admin@server1 ~] sudo /usr/bin/yum -y 
                           install cobbler




                                                                     7/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Configuration
   William Hoffmann
                        /etc/cobbler/settings
Programme

Détails techniques         La première chose à faire est de configuer sudo, pour
Introduction               déléguer à l’utilisateur admin, le droit d’utiliser la
cobbler
                           commande cobbler :
Puppet
                           Cmnd_Alias COBBLER = /usr/bin/cobbler
Démonstration
                           %admin ALL = ... COBBLER
Pour finir
                           Puis définir quelques paramètres dans
                           /etc/cobbler/settings :
                           default_kickstart: /var/lib/cobbler/ 
                           kickstarts/default.ks
                           default_password_crypted: "$1$HnnJr5sU 
                           $1E550pg82P.qJmm0oVuNN."
                           manage_forward_zones: "example.com"
                           manage_reverse_zones: "172.31.10"




                                                                     8/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Configuration
   William Hoffmann
                        Choix des modules
Programme

Détails techniques         En plus du /etc/cobbler/settings, il y a d’autres
Introduction               fichiers qui peuvent s’avérer intéressants comme le
cobbler
                           /etc/cobbler/modules qui permet de choisir son
Puppet
                           serveur dns et son serveur dhcp :
Démonstration
                           [dns]
Pour finir
                           module = manage_bind
                           [dhcp]
                           module = manage_isc

                           Il faut ensuite adapter les fichiers de modèles comme
                           /etc/cobbler/dhcpd.template, ces fichiers seront
                           utilisés à chaque synchronisation de cobbler, c’est
                           pourquoi il ne faut jamais éditer les fichers comme
                           /etc/dhcpd.conf.


                                                                     9/23


                       Pour une administration sereine et détendue          ± Back   ± Forward
cobbler et Puppet
                        Configuration
   William Hoffmann
                        Kickstarts
Programme

Détails techniques         Pour installer les machines cobbler utilise des fichiers
Introduction               kickstart, il est possible de préciser à chaque fois quel
cobbler
                           fichier utiliser, mais il est plus simple de définir un fichier
Puppet
                           kickstart minimal qui servira de base pour toutes les
Démonstration
                           installations. Ce fichier est à copier dans
Pour finir
                           /var/lib/cobbler/kickstarts/default.ks.
                           Il faut aussi noter quelques paramètres kickstart utilisés
                           uniquement avec cobbler :
                           $kickstart_start
                           $yum_config_stanza
                           $kickstart_done




                                                                     10/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Configuration
   William Hoffmann
                        SNIPPET
Programme

Détails techniques         Une fonctionnalité intéressante de cobbler est la
Introduction               possibilité d’utiliser des "snippets", ainsi la création d’un
cobbler
                           fichier /var/lib/cobbler/snippet/puppet_name,
Puppet
                           contenant :
Démonstration
                           echo ’PUPPET_SERVER=server1.example.com ’ 
Pour finir
                           >> /etc/sysconfig/puppet

                           Cela permettra d’appeler ce snippet dans le fichier
                           kickstart avec une ligne :
                           $SNIPPET(’puppet_name’)

                           et l’action contenue dans le fichier se réalisera
                           automagiquement.



                                                                     11/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Utilisation
   William Hoffmann
                        Distributions et profils
Programme

Détails techniques         Maintenant que cobbler est configuré il faut "remplir" les
Introduction               dépots :
cobbler
                                       Importation d’une distribution :
Puppet

Démonstration
                                       [admin@server1 ~] sudo /usr/bin/cobbler import --mirror 
                                       /mnt/isos --name RHEL-5.4-i386
Pour finir

                                       Importation d’un dépôt externe ( EPEL )
                                       [admin@server1 ~] sudo /usr/bin/cobbler repo add 
                                       --mirror=http://mirror.org --name EPEL-5-i386
                                       [admin@server1 ~] sudo /usr/bin/cobbler reposync (long)

                                       Importation d’un dépot externe à un profile :
                                       [admin@server1 ~] sudo /usr/bin/cobbler profile edit 
                                       --name RHEL-5.4-i386 --repos EPEL-i386



                                                                     12/23


                       Pour une administration sereine et détendue              ± Back    ± Forward
cobbler et Puppet
                        Utilisation
   William Hoffmann
                        Systèmes
Programme

Détails techniques         cobbler nous permet d’associer une adresse MAC, à une
Introduction               adresse IP et un profil de distribution :
cobbler
                           [admin@server1 ~] sudo /usr/bin/cobbler system add 
Puppet                     --name mail --ip 172.31.10.100 --mac BA:DC:0F:FE:00:01 
Démonstration              --profile RHEL-5.4-i386
Pour finir
                           Dans le cadre de cette démonstration, pour pouvoir
                           installer la machine virtuelle il faut lancer :
                           [user@laptop ~] sudo /usr/bin/virt-install -n mail 
                           -r 512 --vcpus=1 --os-type=linux --os-variant=virtio26 
                           -v --accelerate --pxe --disk path=/dev/VG00/LVmail 
                           -w network=example -m BA:DC:0F:FE:00:01

                           Dans le cadre d’une utilisation avec des machines
                           physiques, il suffirait de démarrer la machine physique en
                           PXE.
                                                                     13/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Utilisation
   William Hoffmann
                        Buildiso
Programme

Détails techniques         Pour les environnements sans dhcp ni PXE, la commande
Introduction               buildiso est parfaite :
cobbler
                           [admin@server1 ~] sudo /usr/bin/cobbler buildiso --iso=boot.iso
Puppet                     - using/creating tempdir: /root/buildiso
Démonstration              - building tree for isolinux
                           - copying miscellaneous files
Pour finir
                           - copying kernels and initrds - for profiles
                           skipping Xen distro: RHEL-5.4-xen-i386
                           - generating a isolinux.cfg
                           - generating profile list...
                           - done writing config
                           - running: mkisofs -quiet -o boot.iso -r -b
                           isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot
                           -boot-load-size 4 -boot-info-table -V cobbler Install -R -J -T
                           /root/buildiso
                           ISO build complete
                           You may wish to delete: /root/buildiso
                           The output file is: boot.iso

                                                                     14/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Architecture
Programme

Détails techniques         Puppet suit un modèle client-serveur pour permettre
Introduction               d’harmoniser les configuration de différents systèmes.
cobbler
                           C’est un système utilisant un langague déclaratif pour
Puppet
                           exprimer les configurations système. Nous avons donc :
Démonstration

Pour finir
                                       Le puppetmaster : c’est le serveur distribuant les
                                       configurations
                                       Les clients (nodes ) qui représentent les sytèmes
                                       gérés.
                                       Une communication en xmlrpc via https pour
                                       assurer la liaison entre les différents membres.
                                       Les manifestes et recettes qui représentent les
                                       éléments de configuration

                                                                     15/23


                       Pour une administration sereine et détendue            ± Back     ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Installation
Programme

Détails techniques         L’installation de puppet est très simple, il suffit de faire
Introduction               sur le serveur :
cobbler
                           [admin@server1 ~] sudo /usr/bin/yum -y install puppet-server
Puppet

Démonstration              Sur les nodes il est possible d’installer puppet avec yum,
Pour finir                  mais il est plus simple d’ajouter le package puppet dans
                           la section %package d’un fichier kickstart.




                                                                     16/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Configuration du serveur
Programme

Détails techniques         La configuration du serveur se fait dans le fichier
Introduction               /etc/puppet/puppet.conf, mais aussi et surtout dans
cobbler
                           le fichier /etc/puppet/manifests/site.pp. Ce dernier
Puppet
                           est en fait un résumé de l’organisation du site de
Démonstration
                           production.
Pour finir

                                                              Listing 1 – Extrait du site.pp
                           node basenode {
                                  include base_apps
                                      $user_admin = "admin"
                                  include sudo
                                  include sshd_config
                                  include motd
                                  include admin_pubkey
                                      $puppet_srv = "server1.example.com"
                                  include mod_puppet_client
                           }
                           node default inherits basenode {}
                                                                           17/23


                       Pour une administration sereine et détendue                             ± Back   ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Recettes
Programme

Détails techniques         La configuration se fait au travers de recettes qui
Introduction               utilisent des types, les différents types sont assez divers :
cobbler
                                       Files qui supporte des paramètres comme : content,
Puppet

Démonstration
                                       permissions, ownership. . .
Pour finir                              Packages
                                       Services
                           Les fichiers peuvent se baser sur des modèles, être
                           téléchargés depuis une source externe ou depuis le
                           serveur puppet. La réunion de plusieurs types se fait au
                           travers de classes, par exemple la classe sudo est
                           composée d’un package et d’un fichier.



                                                                     18/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Example
Programme

Détails techniques

Introduction                                                         Listing 2 – La classe sudo
cobbler                    class sudo {
Puppet
                                           package { "sudo":
Démonstration                                     ensure => installed,
Pour finir                                  }

                                           file { "/etc/sudoers":
                                                  owner => "root",
                                                  group => "root",
                                                  mode   => "440",
                                                  content => template("sudo/sudoers.erb"),
                                                  require => Package["sudo"],
                                           }
                           }




                                                                                19/23


                       Pour une administration sereine et détendue                                ± Back   ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Appel d’une classe
Programme

Détails techniques         L’appel d’une classe se fait au travers du fichier
Introduction               /etc/puppet/manifests/site.pp.
cobbler

Puppet                                                 Listing 3 – appel de la classe sudo
Démonstration              node basenode {
Pour finir
                           $user_admin = "admin"
                           include sudo

                           Et dans le modèle :

                                                           Listing 4 – extrait d’un modèle
                           <%= user_admin %> ALL = NETWORKING, SOFTWARE, 
                           SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE,
                           DRIVERS, DIVERS




                                                                         20/23


                       Pour une administration sereine et détendue                       ± Back   ± Forward
cobbler et Puppet
                        Puppet
   William Hoffmann
                        Configuration d’un noeud
Programme

Détails techniques         Pour configurer un noeud, il suffit de lui dire quel
Introduction               "master" utiliser, cela se fait dans le fichier
cobbler
                           /etc/sysconfig/puppet
Puppet
                           server = server1.example.com
Démonstration

Pour finir                  Il est aussi possible de "demander" au noeud de reporter
                           les mises à jours avec le fichier
                           /etc/sysconfig/puppet/tagmail.conf
                           all = admin@example.com




                                                                     21/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Démonstration
   William Hoffmann


Programme

Détails techniques

Introduction

cobbler

Puppet

Démonstration

Pour finir
                                       Installation avec cobbler
                                       Configuration des noeuds




                                                                     22/23


                       Pour une administration sereine et détendue           ± Back   ± Forward
cobbler et Puppet
                        Pour finir
   William Hoffmann
                        Aller plus loin
Programme

Détails techniques                     Gérer plusieurs distributions avec cobbler
Introduction
                                       Utiliser GIT pour gérer les manifestes de puppet
cobbler

Puppet
                                       Utiliser les interfaces web de cobbler et puppet
Démonstration                          Explorer les wikis :
Pour finir                                         https ://fedorahosted.org/cobbler/
                                                  http ://reductivelabs.com/trac/puppet
                                       Func
                                       http ://et.redhat.com
                           Merci
                                     A
                           Made with LTEX



                                                                     23/23


                       Pour une administration sereine et détendue                        ± Back

Más contenido relacionado

Destacado

Redmine présentation sug 2012
Redmine présentation sug 2012Redmine présentation sug 2012
Redmine présentation sug 2012Yannick Quenec'hdu
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Puppet
 
Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"Michael Harlaut
 
Chapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesChapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesFabien SABATIER
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...Guillaume MOCQUET
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet EnterprisePuppet
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetMichael Lessard
 
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...Alphorm
 
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)Alphorm
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppetHabeeb Rahman
 
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuDéveloppement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuAhmed Archive
 
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Jérôme Mainaud
 
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm
 
alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2Alphorm
 
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com   Formation Scripting Bash avancé pour GNU/LinuxAlphorm.com   Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com Formation Scripting Bash avancé pour GNU/LinuxAlphorm
 

Destacado (20)

Redmine présentation sug 2012
Redmine présentation sug 2012Redmine présentation sug 2012
Redmine présentation sug 2012
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
 
Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"
 
Chapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesChapitre3 elk concepts_avances
Chapitre3 elk concepts_avances
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet Enterprise
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
 
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppet
 
Gestes
GestesGestes
Gestes
 
Ter Web Service Intro
Ter Web Service IntroTer Web Service Intro
Ter Web Service Intro
 
Body language
Body languageBody language
Body language
 
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuDéveloppement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
 
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
 
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
 
alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2
 
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com   Formation Scripting Bash avancé pour GNU/LinuxAlphorm.com   Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
 

Cobbler puppet

  • 1. cobbler et Puppet William Hoffmann Programme Détails techniques Introduction cobbler Pour une administration sereine et Puppet détendue Démonstration Pour finir William Hoffmann - Senior Instructor Red Hat France 12 Décembre 2010 1/23 Pour une administration sereine et détendue ± Forward
  • 2. cobbler et Puppet Programme des réjouissances William Hoffmann Programme Détails techniques 1 Détails techniques Introduction cobbler Puppet Démonstration Pour finir 2/23 Pour une administration sereine et détendue ± Back ± Forward
  • 3. cobbler et Puppet Programme des réjouissances William Hoffmann Programme Détails techniques 1 Détails techniques Introduction cobbler Puppet 2 Introduction Démonstration Pour finir 2/23 Pour une administration sereine et détendue ± Back ± Forward
  • 4. cobbler et Puppet Programme des réjouissances William Hoffmann Programme Détails techniques 1 Détails techniques Introduction cobbler Puppet 2 Introduction Démonstration Pour finir 3 cobbler 2/23 Pour une administration sereine et détendue ± Back ± Forward
  • 5. cobbler et Puppet Programme des réjouissances William Hoffmann Programme Détails techniques 1 Détails techniques Introduction cobbler Puppet 2 Introduction Démonstration Pour finir 3 cobbler 4 Puppet 2/23 Pour une administration sereine et détendue ± Back ± Forward
  • 6. cobbler et Puppet Programme des réjouissances William Hoffmann Programme Détails techniques 1 Détails techniques Introduction cobbler Puppet 2 Introduction Démonstration Pour finir 3 cobbler 4 Puppet 5 Démonstration 2/23 Pour une administration sereine et détendue ± Back ± Forward
  • 7. cobbler et Puppet Programme des réjouissances William Hoffmann Programme Détails techniques 1 Détails techniques Introduction cobbler Puppet 2 Introduction Démonstration Pour finir 3 cobbler 4 Puppet 5 Démonstration 6 Pour finir 2/23 Pour une administration sereine et détendue ± Back ± Forward
  • 8. cobbler et Puppet Matériel utilisé William Hoffmann Programme Pour cette courte présentation j’ai utilisé : Détails techniques Mon fidèle T60 (2Go de RAM/160Go) Introduction 1 réseau bridgé vers l’exterieur cobbler 1 réseau privé en 172.31.10.0/16 pour Puppet l’infrastructure de démo. Démonstration Pour finir Une bonne vieille F11 3 machines virtuelles 1 machine virtuelle : server1.example.com en RHEL-5.4 : cobbler + puppet dhcp sur le réseau example.com (172.31.10.0/16) dns pour example.com 2 machines virtuelles : {mail,web}.example.com Installées via cobbler et configurées via puppet clientes dhcp sur le réseau example.com (172.31.10.0/16) 3/23 Pour une administration sereine et détendue ± Back ± Forward
  • 9. cobbler et Puppet La fin de la bidouille William Hoffmann 1000 comme 10 Programme Détails techniques L’utilisation conjointe de cobbler et Puppet permet Introduction d’optimiser et d’industrialiser le cycle classique d’un cobbler Système d’Information (le fameux SI) : Puppet Démonstration Pour finir 4/23 Pour une administration sereine et détendue ± Back ± Forward
  • 10. cobbler et Puppet La fin de la bidouille William Hoffmann 1000 comme 10 Programme Détails techniques L’utilisation conjointe de cobbler et Puppet permet Introduction d’optimiser et d’industrialiser le cycle classique d’un cobbler Système d’Information (le fameux SI) : Puppet Démonstration Test Pour finir 4/23 Pour une administration sereine et détendue ± Back ± Forward
  • 11. cobbler et Puppet La fin de la bidouille William Hoffmann 1000 comme 10 Programme Détails techniques L’utilisation conjointe de cobbler et Puppet permet Introduction d’optimiser et d’industrialiser le cycle classique d’un cobbler Système d’Information (le fameux SI) : Puppet Démonstration Test Pour finir Pre-prod 4/23 Pour une administration sereine et détendue ± Back ± Forward
  • 12. cobbler et Puppet La fin de la bidouille William Hoffmann 1000 comme 10 Programme Détails techniques L’utilisation conjointe de cobbler et Puppet permet Introduction d’optimiser et d’industrialiser le cycle classique d’un cobbler Système d’Information (le fameux SI) : Puppet Démonstration Test Pour finir Pre-prod Prod cobbler et Puppet nous permettent de mettre en pratique le vieil adage : "Don’t scale with using people" 4/23 Pour une administration sereine et détendue ± Back ± Forward
  • 13. cobbler et Puppet cobbler et Puppet William Hoffmann C’est quoi ces trucs ? Programme Détails techniques cobbler permet la configuration rapide et simple Introduction d’environnements d’installation réseau, qui permettent cobbler d’installer rapidement et simplement de nouveaux Puppet systèmes en ayant plusieurs profiles disponibles. Démonstration Puppet est un système pour automatiser les tâches Pour finir d’administration système classiques : déployement de fichiers de configuration, installation de nouveaux logiciels, configuration de services. 5/23 Pour une administration sereine et détendue ± Back ± Forward
  • 14. cobbler et Puppet Architecture de cobbler William Hoffmann Programme cobbler un frontend unique pour utiliser et configurer un Détails techniques serveur dhcp, un serveur tftp, il va nous permettre aussi Introduction de gérer les différentes versions de nos distributions cobbler (Fedora {6..12}, RHEL {4,5}-{U0-Un}) Puppet cobbler va nous permettre de garder synchronisés : Démonstration Pour finir DHCP. TFTP. DNS. Profiles de machines. dépots & distributions. fichiers kickstarts. 6/23 Pour une administration sereine et détendue ± Back ± Forward
  • 15. cobbler et Puppet Installation William Hoffmann Programme Sur fedora, cobbler est dans les dépôts officiels il suffit de Détails techniques faire : Introduction [admin@server1 ~] sudo /usr/bin/yum -y install cobbler cobbler Puppet Sur une RHEL le moyen le plus simple est d’utiliser le Démonstration dépôt EPEL, il faut donc installer le package epel-release Pour finir et utiliser yum : [admin@server1 ~] sudo /usr/bin/rpm -ivh epel-release..rpm [admin@server1 ~] sudo /usr/bin/yum -y install cobbler 7/23 Pour une administration sereine et détendue ± Back ± Forward
  • 16. cobbler et Puppet Configuration William Hoffmann /etc/cobbler/settings Programme Détails techniques La première chose à faire est de configuer sudo, pour Introduction déléguer à l’utilisateur admin, le droit d’utiliser la cobbler commande cobbler : Puppet Cmnd_Alias COBBLER = /usr/bin/cobbler Démonstration %admin ALL = ... COBBLER Pour finir Puis définir quelques paramètres dans /etc/cobbler/settings : default_kickstart: /var/lib/cobbler/ kickstarts/default.ks default_password_crypted: "$1$HnnJr5sU $1E550pg82P.qJmm0oVuNN." manage_forward_zones: "example.com" manage_reverse_zones: "172.31.10" 8/23 Pour une administration sereine et détendue ± Back ± Forward
  • 17. cobbler et Puppet Configuration William Hoffmann Choix des modules Programme Détails techniques En plus du /etc/cobbler/settings, il y a d’autres Introduction fichiers qui peuvent s’avérer intéressants comme le cobbler /etc/cobbler/modules qui permet de choisir son Puppet serveur dns et son serveur dhcp : Démonstration [dns] Pour finir module = manage_bind [dhcp] module = manage_isc Il faut ensuite adapter les fichiers de modèles comme /etc/cobbler/dhcpd.template, ces fichiers seront utilisés à chaque synchronisation de cobbler, c’est pourquoi il ne faut jamais éditer les fichers comme /etc/dhcpd.conf. 9/23 Pour une administration sereine et détendue ± Back ± Forward
  • 18. cobbler et Puppet Configuration William Hoffmann Kickstarts Programme Détails techniques Pour installer les machines cobbler utilise des fichiers Introduction kickstart, il est possible de préciser à chaque fois quel cobbler fichier utiliser, mais il est plus simple de définir un fichier Puppet kickstart minimal qui servira de base pour toutes les Démonstration installations. Ce fichier est à copier dans Pour finir /var/lib/cobbler/kickstarts/default.ks. Il faut aussi noter quelques paramètres kickstart utilisés uniquement avec cobbler : $kickstart_start $yum_config_stanza $kickstart_done 10/23 Pour une administration sereine et détendue ± Back ± Forward
  • 19. cobbler et Puppet Configuration William Hoffmann SNIPPET Programme Détails techniques Une fonctionnalité intéressante de cobbler est la Introduction possibilité d’utiliser des "snippets", ainsi la création d’un cobbler fichier /var/lib/cobbler/snippet/puppet_name, Puppet contenant : Démonstration echo ’PUPPET_SERVER=server1.example.com ’ Pour finir >> /etc/sysconfig/puppet Cela permettra d’appeler ce snippet dans le fichier kickstart avec une ligne : $SNIPPET(’puppet_name’) et l’action contenue dans le fichier se réalisera automagiquement. 11/23 Pour une administration sereine et détendue ± Back ± Forward
  • 20. cobbler et Puppet Utilisation William Hoffmann Distributions et profils Programme Détails techniques Maintenant que cobbler est configuré il faut "remplir" les Introduction dépots : cobbler Importation d’une distribution : Puppet Démonstration [admin@server1 ~] sudo /usr/bin/cobbler import --mirror /mnt/isos --name RHEL-5.4-i386 Pour finir Importation d’un dépôt externe ( EPEL ) [admin@server1 ~] sudo /usr/bin/cobbler repo add --mirror=http://mirror.org --name EPEL-5-i386 [admin@server1 ~] sudo /usr/bin/cobbler reposync (long) Importation d’un dépot externe à un profile : [admin@server1 ~] sudo /usr/bin/cobbler profile edit --name RHEL-5.4-i386 --repos EPEL-i386 12/23 Pour une administration sereine et détendue ± Back ± Forward
  • 21. cobbler et Puppet Utilisation William Hoffmann Systèmes Programme Détails techniques cobbler nous permet d’associer une adresse MAC, à une Introduction adresse IP et un profil de distribution : cobbler [admin@server1 ~] sudo /usr/bin/cobbler system add Puppet --name mail --ip 172.31.10.100 --mac BA:DC:0F:FE:00:01 Démonstration --profile RHEL-5.4-i386 Pour finir Dans le cadre de cette démonstration, pour pouvoir installer la machine virtuelle il faut lancer : [user@laptop ~] sudo /usr/bin/virt-install -n mail -r 512 --vcpus=1 --os-type=linux --os-variant=virtio26 -v --accelerate --pxe --disk path=/dev/VG00/LVmail -w network=example -m BA:DC:0F:FE:00:01 Dans le cadre d’une utilisation avec des machines physiques, il suffirait de démarrer la machine physique en PXE. 13/23 Pour une administration sereine et détendue ± Back ± Forward
  • 22. cobbler et Puppet Utilisation William Hoffmann Buildiso Programme Détails techniques Pour les environnements sans dhcp ni PXE, la commande Introduction buildiso est parfaite : cobbler [admin@server1 ~] sudo /usr/bin/cobbler buildiso --iso=boot.iso Puppet - using/creating tempdir: /root/buildiso Démonstration - building tree for isolinux - copying miscellaneous files Pour finir - copying kernels and initrds - for profiles skipping Xen distro: RHEL-5.4-xen-i386 - generating a isolinux.cfg - generating profile list... - done writing config - running: mkisofs -quiet -o boot.iso -r -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V cobbler Install -R -J -T /root/buildiso ISO build complete You may wish to delete: /root/buildiso The output file is: boot.iso 14/23 Pour une administration sereine et détendue ± Back ± Forward
  • 23. cobbler et Puppet Puppet William Hoffmann Architecture Programme Détails techniques Puppet suit un modèle client-serveur pour permettre Introduction d’harmoniser les configuration de différents systèmes. cobbler C’est un système utilisant un langague déclaratif pour Puppet exprimer les configurations système. Nous avons donc : Démonstration Pour finir Le puppetmaster : c’est le serveur distribuant les configurations Les clients (nodes ) qui représentent les sytèmes gérés. Une communication en xmlrpc via https pour assurer la liaison entre les différents membres. Les manifestes et recettes qui représentent les éléments de configuration 15/23 Pour une administration sereine et détendue ± Back ± Forward
  • 24. cobbler et Puppet Puppet William Hoffmann Installation Programme Détails techniques L’installation de puppet est très simple, il suffit de faire Introduction sur le serveur : cobbler [admin@server1 ~] sudo /usr/bin/yum -y install puppet-server Puppet Démonstration Sur les nodes il est possible d’installer puppet avec yum, Pour finir mais il est plus simple d’ajouter le package puppet dans la section %package d’un fichier kickstart. 16/23 Pour une administration sereine et détendue ± Back ± Forward
  • 25. cobbler et Puppet Puppet William Hoffmann Configuration du serveur Programme Détails techniques La configuration du serveur se fait dans le fichier Introduction /etc/puppet/puppet.conf, mais aussi et surtout dans cobbler le fichier /etc/puppet/manifests/site.pp. Ce dernier Puppet est en fait un résumé de l’organisation du site de Démonstration production. Pour finir Listing 1 – Extrait du site.pp node basenode { include base_apps $user_admin = "admin" include sudo include sshd_config include motd include admin_pubkey $puppet_srv = "server1.example.com" include mod_puppet_client } node default inherits basenode {} 17/23 Pour une administration sereine et détendue ± Back ± Forward
  • 26. cobbler et Puppet Puppet William Hoffmann Recettes Programme Détails techniques La configuration se fait au travers de recettes qui Introduction utilisent des types, les différents types sont assez divers : cobbler Files qui supporte des paramètres comme : content, Puppet Démonstration permissions, ownership. . . Pour finir Packages Services Les fichiers peuvent se baser sur des modèles, être téléchargés depuis une source externe ou depuis le serveur puppet. La réunion de plusieurs types se fait au travers de classes, par exemple la classe sudo est composée d’un package et d’un fichier. 18/23 Pour une administration sereine et détendue ± Back ± Forward
  • 27. cobbler et Puppet Puppet William Hoffmann Example Programme Détails techniques Introduction Listing 2 – La classe sudo cobbler class sudo { Puppet package { "sudo": Démonstration ensure => installed, Pour finir } file { "/etc/sudoers": owner => "root", group => "root", mode => "440", content => template("sudo/sudoers.erb"), require => Package["sudo"], } } 19/23 Pour une administration sereine et détendue ± Back ± Forward
  • 28. cobbler et Puppet Puppet William Hoffmann Appel d’une classe Programme Détails techniques L’appel d’une classe se fait au travers du fichier Introduction /etc/puppet/manifests/site.pp. cobbler Puppet Listing 3 – appel de la classe sudo Démonstration node basenode { Pour finir $user_admin = "admin" include sudo Et dans le modèle : Listing 4 – extrait d’un modèle <%= user_admin %> ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS, DIVERS 20/23 Pour une administration sereine et détendue ± Back ± Forward
  • 29. cobbler et Puppet Puppet William Hoffmann Configuration d’un noeud Programme Détails techniques Pour configurer un noeud, il suffit de lui dire quel Introduction "master" utiliser, cela se fait dans le fichier cobbler /etc/sysconfig/puppet Puppet server = server1.example.com Démonstration Pour finir Il est aussi possible de "demander" au noeud de reporter les mises à jours avec le fichier /etc/sysconfig/puppet/tagmail.conf all = admin@example.com 21/23 Pour une administration sereine et détendue ± Back ± Forward
  • 30. cobbler et Puppet Démonstration William Hoffmann Programme Détails techniques Introduction cobbler Puppet Démonstration Pour finir Installation avec cobbler Configuration des noeuds 22/23 Pour une administration sereine et détendue ± Back ± Forward
  • 31. cobbler et Puppet Pour finir William Hoffmann Aller plus loin Programme Détails techniques Gérer plusieurs distributions avec cobbler Introduction Utiliser GIT pour gérer les manifestes de puppet cobbler Puppet Utiliser les interfaces web de cobbler et puppet Démonstration Explorer les wikis : Pour finir https ://fedorahosted.org/cobbler/ http ://reductivelabs.com/trac/puppet Func http ://et.redhat.com Merci A Made with LTEX 23/23 Pour une administration sereine et détendue ± Back