Puppet

Puppet is a cross platform framework enabling system administrators to perform common tasks using code. The code can do a variety of tasks from installing new software, to checking file permissions, or updating user accounts. Puppet is great not only during the initial installation of a system, but also throughout the system's entire life cycle. In most circumstances puppet will be used in a client/server configuration.

Cette section couvrira l'installation et la configuration de Puppet dans une configuration client/serveur. Cet exemple simple vous expliquera comment installer Apache en utilisant Puppet.

Pré-configuration

Prior to configuring puppet you may want to add a DNS CNAME record for puppet.example.com, where example.com is your domain. By default Puppet clients check DNS for puppet.example.com as the puppet server name, or Puppet Master. See Service de nom de domaine (DNS) for more DNS details.

Si vous ne souhaitez pas utiliser le DNS, vous pouvez ajouter des entrées dans le fichier /etc/hosts du serveur et du client. Par exemple, dans le fichier /etc/hosts du serveur Puppet, ajoutez :

127.0.0.1 hôte_local.domaine_local hôte_local puppet
192.168.1.17 client_puppet.exemple.com clientpuppet

Sur chaque client Puppet, ajoutez une entrée pour le serveur :

192.168.1.16 puppetmaster.example.com puppetmaster puppet

Remplacez les exemples d'adresses IP et noms de domaine ci-dessus avec vos adresses actuelles de serveur, de client et noms de domaine.

Installation

Pour installer Puppet, saisissez dans un terminal sur le serveur :

sudo apt-get install puppetmaster

Sur la ou les machines client, saisissez :

sudo apt-get install puppet

Configuration

Créer un chemin de dossier pour la classe apache2 :

  sudo mkdir -p /etc/puppet/modules/apache2/manifests

Maintenant, configurez quelques ressources pour apache2. Créez un fichier /etc/puppet/modules/apache2/manifests/init.pp contenant ce qui suit :

class apache2 {
  package { 'apache2':
    ensure => installed,
  }

  service { 'apache2':
    ensure  => true,
    enable  => true,
    require => Package['apache2'],
  }
}

Ensuite, créez un fichier nœud /etc/puppet/manifests/site.pp avec :

node 'puppetclient.example.com' {
   include apache2
}

Remplacez puppetclient.example.com par votre nom d’hôte actuel de client Puppet.

La dernière étape pour ce serveur Puppet est de redémarrer le démon :

sudo service puppetmaster restart

Maintenant que tout est configuré sur le serveur Puppet, il est temps de configurer le client.

First, configure the Puppet agent daemon to start. Edit /etc/default/puppet, changing START to yes:

START=yes

Puis démarrez le service :

sudo service puppet start

Voir l'empreinte numerique de certification du client

sudo puppet agent --fingerprint

De retour sur le serveur Puppet, voir les demandes de signatures de certificats en attente :

sudo puppet cert list

Sur le serveur Puppet, vérifiez les empreintes numériques du client et signez la certification du client puppet :

sudo puppet cert sign puppetclient.example.com

Sur le client Puppet, lancez l'agent puppet manuellement au premier plan. Cette étape n'est pas à proprement parler nécessaire, mais elle est la meilleure façon de tester et déboguer le service puppet.

sudo puppet agent --test

Vérifiez /var/log/syslog sur les deux hôtes pour toute erreur de configuration. Si tout va bien, le paquet apache2 et ses dépendances seront installés sur le client Puppet.

Cet exemple est très simple et ne met pas beaucoup de fonctionnalités et d'avantages de Puppet en évidence . Pour plus d'informations, voir Ressources.

Ressources