cobbler puppet

31
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 et détendue William Hoffmann - Senior Instructor Red Hat France 12 Décembre 2010

Upload: fedora-fr

Post on 25-Jun-2015

2.035 views

Category:

Technology


1 download

DESCRIPTION

Présentation de Cobbler & Puppet pour une administration sereine et détendue. Par William Hoffmann - Senior Instructor.

TRANSCRIPT

Page 1: Cobbler puppet

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

Page 2: Cobbler puppet

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

Page 3: Cobbler puppet

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

Page 4: Cobbler puppet

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

Page 5: Cobbler puppet

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

Page 6: Cobbler puppet

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

Page 7: Cobbler puppet

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

Page 8: Cobbler puppet

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)

Page 9: Cobbler puppet

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"

Page 10: Cobbler puppet

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"

Page 11: Cobbler puppet

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"

Page 12: Cobbler puppet

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"

Page 13: Cobbler puppet

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.

Page 14: Cobbler puppet

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.

Page 15: Cobbler puppet

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

Page 16: Cobbler puppet

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"

Page 17: Cobbler puppet

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.

Page 18: Cobbler puppet

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

Page 19: Cobbler puppet

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.

Page 20: Cobbler puppet

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

Page 21: Cobbler puppet

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.

Page 22: Cobbler puppet

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

Page 23: Cobbler puppet

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

Page 24: Cobbler puppet

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.

Page 25: Cobbler puppet

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 {}

Page 26: Cobbler puppet

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.

Page 27: Cobbler puppet

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"],

}}

Page 28: Cobbler puppet

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

Page 29: Cobbler puppet

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]

Page 30: Cobbler puppet

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

Page 31: Cobbler puppet

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