Puppet

Puppet est une structure multi-plateforme permettant aux administrateurs système d'effectuer des tâches courantes à l'aide de code. Le code peut effectuer une grande variété de tâches, de l'installation de nouveaux logiciels, à la vérification des autorisations de fichiers, ou mettre à jour des comptes utilisateur. Puppet n'est pas seulement génial pour l'installation initiale d'un système, mais aussi pendant tout le cycle de vie du système. Dans la plupart des circonstances puppet sera utilisé dans une configuration client/serveur.

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 install puppetmaster

Sur la ou les machines client, saisissez :

sudo apt 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 systemctl restart puppetmaster.service

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 systemctl start puppet.service

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