Clusterctl
De ISPWiki.
Sommaire |
Description
Le programme utilitaire détient 2 buts principaux:
- Lancement des commandes sur plusieurs noeuds.
- Gestion des rôles des noeuds.
Attention! Veuillez lancer toutes les commandes auprès de root!
Mode d'exploitation
Il y a les 3 modes d'exploitation: toutes les commandes spécifiées seront lancées sur tous les noeuds en même temps (dans ce cas le résultat sort quand le programme est exécuté), successivement ou successivement avec le délai spécifié. Il est spécifié par la clé --runmode:
--runmode parallel lancer en même temps --runmode 0 lancer successivement (mode par défaut) --runmode N lancer successivement avec le délai de N secondes
Choisir les noeuds pour lancer les commandes
Vous pouvez spécifier les noeuds où il faut lancer des commandes par le rôle ou par le noeud de l'adresse IP.
--role HTTP lancer sur tous les noeuds ayant le rôle HTTP. Il est suffit de spécifier le nom de rôle. --role ALL choisir tous les noeuds (par défaut)
De plus vous pouvez spécifier les noeuds bornes:
--node 12.34.56.78 lancer sur le noeud 12.34.56.78 --node LOCAL réaliser sur le noeud courant --node ALL lancer sur tous les noeuds (par défaut)
Il est possible de spécifier un rôle ou un noeud.
Exemple
- clusterctl --role MASTER
- utiliser tous les noeuds qui ont le noeud MASTER
- clusterctl --node LOCAL
- utiliser le noeud local
- clusterctl --node LOCAL --role MASTER
- utiliser le noeud local mais s'il y a le rôle MASTER
- clusterctl --node ALL --role MASTER
- Identique avec clusterctl --role MASTER
Commandes spéciales
Il y a des variantes:
my_roles Afficher tous les rôles du noeud sur lequel cette commande a été lancée. La recherche des rôles sera effectuée en fonction des adresses IP locaux. role_executors Afficher toutes les adresses IP ayant ce rôle. bind_local_ip Attacher vers l'interface spécifiée par le paramètre du fichier de configuration "bind_interface" de l'adresse IP de tous les serveurs web du noeud local.
Gérer les rôles
Il y a un ensemble de commandes spéciales pour pouvoir gérer les scripts de lancement des noeuds:
start Lancer les scripts de lancement du rôle spécifié et/ou du noeud stop Lancer les script d'arrêt du rôle spécifié et/ou du noeud start_scripts Afficher les scripts de lancement du rôle spécifié et/ou du noeud stop_scripts Afficher les script d'arrêt du rôle spécifié et/ou du noeud
Exemple:
- clusterctl --role HTTP --node LOCAL start
- Lancer les scripts du rôle HTTP sur le noeud courant (si ce rôle existe ici)
- clusterctl --role HTTP start
- Lancer les scripts du rôle HTTP sur tous les noeuds où il existe
- clusterctl --role HTTP --runmode parallel start
- Lancer les scripts du rôle HTTP sur tous les noeuds où il existe au mode concurrent.
Résultat d'exécutuion
Le résultat d'exécution de différents serveurs est séparé par lignes comme suit:
#clusterctl -- 127.0.0.1 ------------------
Ce que le programme a écrit dans STDOUT et dans STDERR sera affiché dans STDOUT et STDERR. Le statut d'exécution est affiché dans la ligne séparée:
#clusterctl Exit with code: 127
ou:
#clusterctl Exit with signal: 9
ou:
#clusterctl Stopped with signal: 5
Exemples
Lancer sur tous les serveurs "uname -a":
clusterctl --role all "uname -a"
Lancer sur tous les serveurs "uname -a" et puis "date":
clusterctl --role all "uname -a" "date"
Afficher les processus d'Apache dans les protocoles HTTP activés:
clusterctl --role HTTP "ps auxw | grep apache"
Apprendre les rôles du noeud courant:
clusterctl --role all my_roles
Apprendre les noeuds qui traitent le rôle de HTTP
clusterctl --role HTTP role_executors
Attacher les adresses IP locaux:
clusterctl bind_local_ip
Utiliser le fichier de configuration alternatif:
clusterctl --conf /other/path/oproxy.conf ...
Aide:
clusterctl --help
Version:
clusterctl --version
Cherchez les exemples de gestion des scripts de lancement dans la rubrique décrite ci-dessus.
