2017-03-22 1 views
0

J'ai un problème auquel je vais avoir du mal à trouver une solution ...Chef: redémarrage du service de déclenchement sur différents nœuds

Imaginez une topologie de 1 maître et 3 esclaves.

Chaque fois que je change le fichier de configuration sur le nœud maître, j'ai besoin de redémarrer un service sur TOUS les nœuds. (Je sais que c'est idiot, mais je n'ai pas écrit l'application donc ...)

Y at-il un moyen de déclencher un redémarrage du service sur les 3 autres nœuds?

// modifier pour plus de clarté

Je veux dire, déclencher un redémarrage du service de la même recette/livre de cuisine, sans faire courir le chef sur les autres nœuds ...

Merci!

Répondre

2

Si vous ne voulez pas exécuter le chef-client pour les redémarrages de service. Ensuite, à mon humble avis, il existe deux options,

  1. Exécution de commande ssh à distance. - Effectuez un SSH distant et lancez une commande de redémarrage en exécutant la ressource.

    ssh -i < key> < user>@< IP> "< Restart command>" 
    
  2. emploi chef push - Installer les clients d'emploi push chef et les commandes de déclenchement que les emplois sur d'autres noeuds utilisant l'API POST directement sur les nœuds esclaves. Vous appelez les API de repos de job push à partir du livre de recettes que vous exécutez sur master. Ainsi, chaque fois qu'il y a un redémarrage sur le maître, vous pouvez utiliser notify pour déclencher un appel de repos à Push Server pour lancer un travail (c'est-à-dire, redémarrer la commande).

    S'il vous plaît Se référer: https://docs.chef.io/push_jobs.html

+0

Merci pour l'info. SSH est hors de question, mais je vais suggérer au client que l'outil pousse les travaux. – lambdacore