cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
1/23
Pour une administration sereine et détendue ç Forward
Pour une administration sereine etdétendue
William Hoffmann - Senior Instructor
Red Hat France
12 Décembre 2010
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
2/23
Pour une administration sereine et détendue ç ForwardçBack
Programme des réjouissances
1 Détails techniques
2 Introduction
3 cobbler
4 Puppet
5 Démonstration
6 Pour finir
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
2/23
Pour une administration sereine et détendue ç ForwardçBack
Programme des réjouissances
1 Détails techniques
2 Introduction
3 cobbler
4 Puppet
5 Démonstration
6 Pour finir
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
2/23
Pour une administration sereine et détendue ç ForwardçBack
Programme des réjouissances
1 Détails techniques
2 Introduction
3 cobbler
4 Puppet
5 Démonstration
6 Pour finir
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
2/23
Pour une administration sereine et détendue ç ForwardçBack
Programme des réjouissances
1 Détails techniques
2 Introduction
3 cobbler
4 Puppet
5 Démonstration
6 Pour finir
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
2/23
Pour une administration sereine et détendue ç ForwardçBack
Programme des réjouissances
1 Détails techniques
2 Introduction
3 cobbler
4 Puppet
5 Démonstration
6 Pour finir
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
2/23
Pour une administration sereine et détendue ç ForwardçBack
Programme des réjouissances
1 Détails techniques
2 Introduction
3 cobbler
4 Puppet
5 Démonstration
6 Pour finir
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
3/23
Pour une administration sereine et détendue ç ForwardçBack
Matériel utilisé
Pour cette courte présentation j’ai utilisé :Mon fidèle T60 (2Go de RAM/160Go)
1 réseau bridgé vers l’exterieur1 réseau privé en 172.31.10.0/16 pourl’infrastructure de démo.
Une bonne vieille F113 machines virtuelles
1 machine virtuelle : server1.example.com enRHEL-5.4 :
cobbler + puppetdhcp sur le réseau example.com (172.31.10.0/16)dns pour example.com
2 machines virtuelles : {mail,web}.example.comInstallées via cobbler et configurées via puppetclientes dhcp sur le réseau example.com(172.31.10.0/16)
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
4/23
Pour une administration sereine et détendue ç ForwardçBack
La fin de la bidouille1000 comme 10
L’utilisation conjointe de cobbler et Puppet permetd’optimiser et d’industrialiser le cycle classique d’unSystème d’Information (le fameux SI) :
TestPre-prodProd
cobbler et Puppet nous permettent de mettre en pratiquele vieil adage : "Don’t scale with using people"
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
4/23
Pour une administration sereine et détendue ç ForwardçBack
La fin de la bidouille1000 comme 10
L’utilisation conjointe de cobbler et Puppet permetd’optimiser et d’industrialiser le cycle classique d’unSystème d’Information (le fameux SI) :
Test
Pre-prodProd
cobbler et Puppet nous permettent de mettre en pratiquele vieil adage : "Don’t scale with using people"
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
4/23
Pour une administration sereine et détendue ç ForwardçBack
La fin de la bidouille1000 comme 10
L’utilisation conjointe de cobbler et Puppet permetd’optimiser et d’industrialiser le cycle classique d’unSystème d’Information (le fameux SI) :
TestPre-prod
Prodcobbler et Puppet nous permettent de mettre en pratiquele vieil adage : "Don’t scale with using people"
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
4/23
Pour une administration sereine et détendue ç ForwardçBack
La fin de la bidouille1000 comme 10
L’utilisation conjointe de cobbler et Puppet permetd’optimiser et d’industrialiser le cycle classique d’unSystème d’Information (le fameux SI) :
TestPre-prodProd
cobbler et Puppet nous permettent de mettre en pratiquele vieil adage : "Don’t scale with using people"
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
5/23
Pour une administration sereine et détendue ç ForwardçBack
cobbler et PuppetC’est quoi ces trucs ?
cobbler permet la configuration rapide et simpled’environnements d’installation réseau, qui permettentd’installer rapidement et simplement de nouveauxsystèmes en ayant plusieurs profiles disponibles.Puppet est un système pour automatiser les tâchesd’administration système classiques : déployement defichiers de configuration, installation de nouveauxlogiciels, configuration de services.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
6/23
Pour une administration sereine et détendue ç ForwardçBack
Architecture de cobbler
cobbler un frontend unique pour utiliser et configurer unserveur dhcp, un serveur tftp, il va nous permettre ausside gérer les différentes versions de nos distributions(Fedora {6..12}, RHEL {4,5}-{U0-Un})cobbler va nous permettre de garder synchronisés :
DHCP.TFTP.DNS.Profiles de machines.
dépots & distributions.fichiers kickstarts.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
7/23
Pour une administration sereine et détendue ç ForwardçBack
Installation
Sur fedora, cobbler est dans les dépôts officiels il suffit defaire :[admin@server1 ~] sudo /usr/bin/yum -y install cobbler
Sur une RHEL le moyen le plus simple est d’utiliser ledépôt EPEL, il faut donc installer le package epel-releaseet utiliser yum :[admin@server1 ~] sudo /usr/bin/rpm -ivh \epel-release..rpm[admin@server1 ~] sudo /usr/bin/yum -y \install cobbler
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
8/23
Pour une administration sereine et détendue ç ForwardçBack
Configuration/etc/cobbler/settings
La première chose à faire est de configuer sudo, pourdéléguer à l’utilisateur admin, le droit d’utiliser lacommande cobbler :Cmnd_Alias COBBLER = /usr/bin/cobbler%admin ALL = ... COBBLER
Puis définir quelques paramètres dans/etc/cobbler/settings :default_kickstart: /var/lib/cobbler/ \kickstarts/default.ksdefault_password_crypted: "$1$HnnJr5sU \$1E550pg82P.qJmm0oVuNN."manage_forward_zones: "example.com"manage_reverse_zones: "172.31.10"
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
9/23
Pour une administration sereine et détendue ç ForwardçBack
ConfigurationChoix des modules
En plus du /etc/cobbler/settings, il y a d’autresfichiers qui peuvent s’avérer intéressants comme le/etc/cobbler/modules qui permet de choisir sonserveur dns et son serveur dhcp :[dns]module = manage_bind[dhcp]module = manage_isc
Il faut ensuite adapter les fichiers de modèles comme/etc/cobbler/dhcpd.template, ces fichiers serontutilisés à chaque synchronisation de cobbler, c’estpourquoi il ne faut jamais éditer les fichers comme/etc/dhcpd.conf.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
10/23
Pour une administration sereine et détendue ç ForwardçBack
ConfigurationKickstarts
Pour installer les machines cobbler utilise des fichierskickstart, il est possible de préciser à chaque fois quelfichier utiliser, mais il est plus simple de définir un fichierkickstart minimal qui servira de base pour toutes lesinstallations. Ce fichier est à copier dans/var/lib/cobbler/kickstarts/default.ks.Il faut aussi noter quelques paramètres kickstart utilisésuniquement avec cobbler :$kickstart_start$yum_config_stanza$kickstart_done
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
11/23
Pour une administration sereine et détendue ç ForwardçBack
ConfigurationSNIPPET
Une fonctionnalité intéressante de cobbler est lapossibilité d’utiliser des "snippets", ainsi la création d’unfichier /var/lib/cobbler/snippet/puppet_name,contenant :echo ’PUPPET_SERVER=server1.example.com ’ \>> /etc/sysconfig/puppet
Cela permettra d’appeler ce snippet dans le fichierkickstart avec une ligne :$SNIPPET(’puppet_name’)
et l’action contenue dans le fichier se réaliseraautomagiquement.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
12/23
Pour une administration sereine et détendue ç ForwardçBack
UtilisationDistributions et profils
Maintenant que cobbler est configuré il faut "remplir" lesdépots :
Importation d’une distribution :[admin@server1 ~] sudo /usr/bin/cobbler import --mirror \/mnt/isos --name RHEL-5.4-i386
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
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
13/23
Pour une administration sereine et détendue ç ForwardçBack
UtilisationSystèmes
cobbler nous permet d’associer une adresse MAC, à uneadresse IP et un profil de distribution :[admin@server1 ~] sudo /usr/bin/cobbler system add \--name mail --ip 172.31.10.100 --mac BA:DC:0F:FE:00:01 \--profile RHEL-5.4-i386
Dans le cadre de cette démonstration, pour pouvoirinstaller 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 machinesphysiques, il suffirait de démarrer la machine physique enPXE.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
14/23
Pour une administration sereine et détendue ç ForwardçBack
UtilisationBuildiso
Pour les environnements sans dhcp ni PXE, la commandebuildiso est parfaite :[admin@server1 ~] sudo /usr/bin/cobbler buildiso --iso=boot.iso- using/creating tempdir: /root/buildiso- building tree for isolinux- copying miscellaneous files- copying kernels and initrds - for profilesskipping Xen distro: RHEL-5.4-xen-i386- generating a isolinux.cfg- generating profile list...- done writing config- running: mkisofs -quiet -o boot.iso -r -bisolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot-boot-load-size 4 -boot-info-table -V cobbler\ Install -R -J -T/root/buildisoISO build completeYou may wish to delete: /root/buildisoThe output file is: boot.iso
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
15/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetArchitecture
Puppet suit un modèle client-serveur pour permettred’harmoniser les configuration de différents systèmes.C’est un système utilisant un langague déclaratif pourexprimer les configurations système. Nous avons donc :
Le puppetmaster : c’est le serveur distribuant lesconfigurationsLes clients (nodes ) qui représentent les sytèmesgérés.Une communication en xmlrpc via https pourassurer la liaison entre les différents membres.Les manifestes et recettes qui représentent leséléments de configuration
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
16/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetInstallation
L’installation de puppet est très simple, il suffit de fairesur le serveur :[admin@server1 ~] sudo /usr/bin/yum -y install puppet-server
Sur les nodes il est possible d’installer puppet avec yum,mais il est plus simple d’ajouter le package puppet dansla section %package d’un fichier kickstart.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
17/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetConfiguration du serveur
La configuration du serveur se fait dans le fichier/etc/puppet/puppet.conf, mais aussi et surtout dansle fichier /etc/puppet/manifests/site.pp. Ce dernierest en fait un résumé de l’organisation du site deproduction.
Listing 1 – Extrait du site.ppnode basenode {
include base_apps$user_admin = "admin"
include sudoinclude sshd_configinclude motdinclude admin_pubkey
$puppet_srv = "server1.example.com"include mod_puppet_client
}node default inherits basenode {}
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
18/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetRecettes
La configuration se fait au travers de recettes quiutilisent des types, les différents types sont assez divers :
Files qui supporte des paramètres comme : content,permissions, ownership. . .PackagesServices
Les fichiers peuvent se baser sur des modèles, êtretéléchargés depuis une source externe ou depuis leserveur puppet. La réunion de plusieurs types se fait autravers de classes, par exemple la classe sudo estcomposée d’un package et d’un fichier.
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
19/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetExample
Listing 2 – La classe sudoclass sudo {
package { "sudo":ensure => installed,
}
file { "/etc/sudoers":owner => "root",group => "root",mode => "440",content => template("sudo/sudoers.erb"),require => Package["sudo"],
}}
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
20/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetAppel d’une classe
L’appel d’une classe se fait au travers du fichier/etc/puppet/manifests/site.pp.
Listing 3 – appel de la classe sudonode basenode {$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
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
21/23
Pour une administration sereine et détendue ç ForwardçBack
PuppetConfiguration d’un noeud
Pour configurer un noeud, il suffit de lui dire quel"master" utiliser, cela se fait dans le fichier/etc/sysconfig/puppetserver = server1.example.com
Il est aussi possible de "demander" au noeud de reporterles mises à jours avec le fichier/etc/sysconfig/puppet/tagmail.confall = [email protected]
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
22/23
Pour une administration sereine et détendue ç ForwardçBack
Démonstration
Installation avec cobblerConfiguration des noeuds
cobbler et Puppet
William Hoffmann
Programme
Détails techniques
Introduction
cobbler
Puppet
Démonstration
Pour finir
23/23
Pour une administration sereine et détendue çBack
Pour finirAller plus loin
Gérer plusieurs distributions avec cobblerUtiliser GIT pour gérer les manifestes de puppetUtiliser les interfaces web de cobbler et puppetExplorer les wikis :
https ://fedorahosted.org/cobbler/http ://reductivelabs.com/trac/puppet
Funchttp ://et.redhat.com
MerciMade with LATEX
Top Related