2 votes

Exécuter puppetmaster & client uniquement sur commit et une fois par jour.

Puppet consomme des ressources sur ma machine et, malheureusement, je dois exécuter master en même temps que d'autres processus dans une machine.

J'ai l'intention d'arrêter de faire tourner Puppet comme un démon tout le temps et je pensais plutôt à le faire fonctionner :

  1. lorsque les manifestes contrôlés par Puppet changent. Mes manifestes sont sous contrôle de révision dans git. Peut-être à travers un post receive hook.
  2. Exécutez Puppet une fois par jour. Si quelqu'un doit modifier les configurations d'une machine, cela doit être remplacé. Par exemple, sshd_config devrait être immaculée.

Quelqu'un s'est-il aventuré dans une telle stratégie ?
Quelqu'un peut-il m'aider ?

4voto

ewwhite Points 193555

Oui, cela a été fait.

Voir : Marionnette : N'autoriser les changements que pendant certaines heures ?

En ce qui concerne l'approche Git, vous avez probablement vu ce lien .

4voto

Brad Points 3206

Vous pourriez ajouter Puppet à une tâche cron comme d'habitude (ce qui vous donne la possibilité de ne l'exécuter que pendant les heures de travail ou plus ou moins fréquemment que toutes les demi-heures) mais l'envelopper dans un court script qui vérifie si le numéro de révision de votre contrôle de source a été incrémenté. Si c'est le cas, il déclenche le client Puppet, sinon, il n'y a pas besoin de Puppet (et de tous les coûteux hachages de fichiers qu'il effectue).

Cela signifie toutefois que si vous modifiez un fichier sur un hôte, Puppet ne le modifiera pas. arrière jusqu'au prochain changement de configuration. Vous pourriez éviter ce problème en modifiant la logique du wrapper script pour exécuter également un client Puppet si plus de 24 heures se sont écoulées depuis la dernière exécution.

L'idée de Puppet "sans maître" (mentionnée par ewwhite) supprime le maître Puppet comme étant le goulot d'étranglement et le remplace par git comme étant le goulot d'étranglement, ce qui est largement préférable à mon avis. A moins que vous ne fassiez des changements dans git plus rapidement qu'il ne peut pousser ces changements vers tous les hôtes, ce goulot d'étranglement ne sera pas un problème. Vous pourriez arranger les "rayons" de manière arborescente si cela devenait un problème. Cela devrait permettre d'atteindre des dizaines de milliers d'hôtes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X