Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| puppet [Le 18/11/2010, 15:33] – herrleiche | puppet [Le 13/11/2023, 01:40] (Version actuelle) – [Puppet] Mise en majuscule d'un caractère le nécessitant Benjamin Loison | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag>Xenial |
| ---- | ---- | ||
| ====== Puppet ====== | ====== Puppet ====== | ||
| - | ===== Présentation ===== | + | Puppet est un outil de gestion de la configuration de serveurs, il permet le télédéploiement de configuration sur un ensemble de serveurs en quelques minutes. L'intérêt de cette solution open source réside dans son support multi-plateformes (basé sur Ruby), sa sécurité (TLS), son développement actif et sa relative simplicité à mettre en œuvre. |
| - | Puppet est un outils | + | |
| \\ | \\ | ||
| {{: | {{: | ||
| - | <note tip>Il existe une version Legacy (0.25.x) qui comporte de nombreux bugs et manque de fonctionnalités l' | + | Systèmes supportés : |
| + | Puppet fonctionne sur la plupart des systèmes Unix et sur Windows. Voir [[http:// | ||
| - | ===== Prérequis | + | |
| + | ===== Pré-requis | ||
| + | * Disposer des [[: | ||
| + | * Disposer d'une connexion à Internet configurée et activée. | ||
| * Disposez de plusieurs serveurs à administrer sans quoi le gain de temps et d' | * Disposez de plusieurs serveurs à administrer sans quoi le gain de temps et d' | ||
| * Notions en administration système. | * Notions en administration système. | ||
| - | ===== Systèmes supportés ===== | + | |
| - | Puppet fonctionne sur la plupart des système Uni* et dans une moindre mesure Windows. voir [[http:// | + | |
| ===== Installation ===== | ===== Installation ===== | ||
| - | Puppet est présent dans les dépôts, installez les paquets puppet, facter et puppetmaster (pour le serveur maître) : | + | Puppet est présent dans les [[:dépôts]], installez les paquets puppet, facter et puppetmaster (pour le serveur maître) : |
| - | * Sur le client | + | * Sur le client : < |
| - | < | + | * Sur le master : < |
| - | * Sur le master | + | Cependant si vous souhaitez une version différente rendez-vous sur la page de téléchargement [[http:// |
| - | < | + | < |
| - | Cependant si vous souhaitez une version différente rendez vous sur la page de téléchargement [[http:// | + | apt-get install rubygems |
| - | < | + | gem install facter |
| - | gem install puppet</ | + | gem install puppet |
| + | </ | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| Ligne 31: | Ligne 34: | ||
| ==== Maître ==== | ==== Maître ==== | ||
| === Fichiers de configuration === | === Fichiers de configuration === | ||
| - | <note tip>Les fichiers de configuration sont donnés à titre d' | + | <note tip>Les fichiers de configuration sont donnés à titre d' |
| - | On modifie le fichier / | + | On [[: |
| < | < | ||
| [main] | [main] | ||
| Ligne 54: | Ligne 57: | ||
| </ | </ | ||
| - | === Parefeu | + | === Pare-feu |
| - | On modifie également notre firewall | + | On modifie également notre pare-feu |
| < | < | ||
| iptables -A OUTPUT -p tcp -m state --state NEW, | iptables -A OUTPUT -p tcp -m state --state NEW, | ||
| Ligne 64: | Ligne 67: | ||
| === Configuration de l' | === Configuration de l' | ||
| - | / | + | On [[: |
| < | < | ||
| [main] | [main] | ||
| Ligne 76: | Ligne 79: | ||
| </ | </ | ||
| - | Le paramètre **listen** et les fichiers auth.conf et namespaceauth.conf sont nécéssaire | + | Le **runinterval** permet de spécifier, en secondes, l' |
| + | |||
| + | Le paramètre **listen** et les fichiers auth.conf et namespaceauth.conf sont nécessaires | ||
| / | / | ||
| Ligne 84: | Ligne 89: | ||
| allow * | allow * | ||
| </ | </ | ||
| + | |||
| + | <note warning> | ||
| / | / | ||
| Ligne 98: | Ligne 105: | ||
| </ | </ | ||
| - | === Parefeu | + | === Pare-feu |
| - | Si vous disposez d' | + | Si vous disposez d' |
| < | < | ||
| iptables -A OUTPUT -p tcp -m state --state NEW, | iptables -A OUTPUT -p tcp -m state --state NEW, | ||
| Ligne 105: | Ligne 112: | ||
| </ | </ | ||
| - | ===== Validation ===== | + | ===== Validation |
| - | Avant de pouvoir | + | Avant de pouvoir |
| < | < | ||
| - | Cela va générer un certificat que l'on nous demanderas | + | Cela va générer un certificat que l'on nous demandera |
| < | < | ||
| nomduclient | nomduclient | ||
| Ligne 116: | Ligne 123: | ||
| ===== Déploiement à partir du master ===== | ===== Déploiement à partir du master ===== | ||
| + | |||
| + | ==== Via la commande Puppetrun ==== | ||
| Pour lancer le **puppetd --test** sans devoir être connecté à chaque client on lance | Pour lancer le **puppetd --test** sans devoir être connecté à chaque client on lance | ||
| < | < | ||
| ou encore | ou encore | ||
| < | < | ||
| - | Si cela ne fonctionne vérifiez bien qu'un déploiement sur le client est fonctionnel ainsi que l' | + | <note tip>Si cela ne fonctionne |
| + | |||
| + | ==== Via l'API REST (conseillé) ==== | ||
| + | L'API REST permet à une requête HTTP d' | ||
| + | Il suffira ainsi de passer la commande suivante via **CURL** pour lancer un puppetrun sur l' | ||
| + | < | ||
| + | L' | ||
| ===== Problèmes ===== | ===== Problèmes ===== | ||
| ==== Désactivez le déploiement automatique d'un client ==== | ==== Désactivez le déploiement automatique d'un client ==== | ||
| - | Un client **puppetd** qui tourne en daemon à la fâcheuse tendance d' | + | Un client **puppetd** qui tourne en daemon à la fâcheuse tendance d' |
| < | < | ||
| ==== err: Could not retrieve catalog: Could not parse for environment development: | ==== err: Could not retrieve catalog: Could not parse for environment development: | ||
| - | Ce problème peut survenir au cours d'un déploiement, | + | Ce problème peut survenir au cours d'un déploiement, |
| < | < | ||
| Ligne 138: | Ligne 153: | ||
| ==== Run of Puppet configuration client already in progress ==== | ==== Run of Puppet configuration client already in progress ==== | ||
| < | < | ||
| - | Indique que Puppet est déjà en cours d’exécution sur la machine. | + | Indique que Puppet est déjà en cours d'exécution sur la machine. |
| ==== certificate verify failed ==== | ==== certificate verify failed ==== | ||
| < | < | ||
| - | indique que le certificat que possède le client diffère de celui du master, aussi la solution la plus simple est de régénérer un certificat sur le client puis de le signer sur le master. | + | indique que le certificat que possède le client diffère de celui du master, aussi la solution la plus simple est de régénérer un certificat sur le client puis de le signer sur le master. |
| < | < | ||
| <note important> | <note important> | ||
| - | On effectue une nouvelle tentative de déploiement qui vas générer un nouveau certificat | + | On effectue une nouvelle tentative de déploiement qui va générer un nouveau certificat |
| < | < | ||
| info: Creating a new SSL key for votreserveur.fr | info: Creating a new SSL key for votreserveur.fr | ||
| Ligne 159: | Ligne 174: | ||
| <note tip>Si le problème persiste toujours il s'agit alors sans doute d'une mauvaise synchronisation horaire entre le client et le master.</ | <note tip>Si le problème persiste toujours il s'agit alors sans doute d'une mauvaise synchronisation horaire entre le client et le master.</ | ||
| + | ==== err: Could not request certificate: | ||
| + | Si lors du lancement de la commande puppetd --test vous obtenez cette erreur : | ||
| + | < | ||
| + | puppetd --test | ||
| + | info: Creating a new SSL key for hostnameduserveur | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | info: Caching certificate for ca | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | info: Caching certificate_request for hostnameduserveur | ||
| + | err: Cached certificate for ca failed: header too long | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | info: Caching certificate for ca | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | err: Cached certificate for ca failed: header too long | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | info: Caching certificate for ca | ||
| + | warning: peer certificate won't be verified in this SSL session | ||
| + | Exiting; no certificate found and waitforcert is disabled | ||
| + | |||
| + | puppetd --test | ||
| + | err: Could not request certificate: | ||
| + | Exiting; failed to retrieve certificate and waitforcert is disabled</ | ||
| + | Ce problème survient lorsque le système de fichier sur lequel Puppet essaye de créer le certificat est plein. | ||
| + | |||
| + | ==== Processus fantôme ==== | ||
| + | Si le déploiement renvoie une erreur de ce type : | ||
| + | < | ||
| + | notice: Run of Puppet configuration client already in progress; skipping | ||
| + | </ | ||
| + | mais qu'il n' | ||
| + | < | ||
| ===== Désinstallation ===== | ===== Désinstallation ===== | ||
| Pour supprimer cette application, | Pour supprimer cette application, | ||
| < | < | ||
| - | gem uninstall facter</ | + | gem uninstall facter</ |
| ===== Liens ===== | ===== Liens ===== | ||
| * **en** [[http:// | * **en** [[http:// | ||
| * **en** [[http:// | * **en** [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | * **fr** [[http:// | + | * **fr** [[wpfr> |
| ---- | ---- | ||
| - | // | + | // |
