Pour ceux qui ont l’habitude d’exécuter des commandes groupées sur les différents noeuds d’un cluster Nutanix, il existe les fameuses commandes suivantes :
- hostssh : pour exécuter sur l’ensemble des hôtes
Exemple pour voir tous les voisins : hostssh lldpctl
- allssh : pour exécuter sur l’ensemble des CVMs
Exemple pour récupérer l’état des interfaces réseaux : allssh manage_ovs show_interfaces
Dans le cas de NDB, en mode déploiement HA, cet à dire avec une résilience du control plane au travers de différents componsants déployés (API Server, HA Proxy, Postgres repository), il n’y a pas de commandes globales autre que le ligne de commande era-server. Si cette dernière est bien complète, elle ne permet pas d’exécuter des commandes coté OS.
Voici une petite astuce que j’utilise fréquemment et qui est plutôt propre à Linux que Nutanix.
Je déclare toutes les IP des mes composants (API, HA Proxy, PG repository) dans une variable.
export MASTER_IP='10.1.0.121 10.1.0.122 10.1.0.123 10.1.0.124 10.1.0.125 10.1.0.126 10.1.0.127 10.1.0.128'
Je boucle en ssh avec un for sur l’ensemble de ces IPs et j’ajoute le hostname, l’ip et la commande à exécuter. Par exemple, ici pour lister la timezone de chaque composant :
for IP in $MASTER_IP; do ssh era@$IP -o "StrictHostKeyChecking=no" -C "hostname;echo $IP;timedatectl | grep 'Time zone'"; echo "-.-"; done
Je vais avoir la sortie suivante :
NDBAPI01 10.1.0.121 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBAPI02 10.1.0.122 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBAPI03 10.1.0.123 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBREP02 10.1.0.124 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBREP01 10.1.0.125 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBREP03 10.1.0.126 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBHA02 10.1.0.127 Time zone: Europe/Paris (CEST, +0200) -------------------------------------------------------- NDBHA01 10.1.0.128 Time zone: Europe/Paris (CEST, +0200) --------------------------------------------------------
Pour chaque action je n’ai qu’a remplacer la commande à appliquer.
