Nutanix – NDB – HA deployment – Exécuter une commande sur l’ensemble des membres du clusters

NDB cli

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.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *