10.10. Déclencher le basculement d'une machine virtuelle en résolvant un nœud défaillant
Si un nœud tombe en panne et que les contrôles de santé des machines ne sont pas déployés sur votre cluster, les machines virtuelles (VM) configurées sur RunStrategy: Always
ne sont pas automatiquement relocalisées sur des nœuds sains. Pour déclencher le basculement des machines virtuelles, vous devez supprimer manuellement l'objet Node
.
Si vous avez installé votre cluster en utilisant une infrastructure fournie par l'installateur et que vous avez correctement configuré les contrôles de santé des machines :
- Les nœuds défaillants sont automatiquement recyclés.
-
Les machines virtuelles dont l'adresse
RunStrategy
ayant pour valeurAlways
ouRerunOnFailure
sont automatiquement planifiées sur des nœuds sains.
10.10.1. Conditions préalables
-
Un nœud où une machine virtuelle était en cours d'exécution présente la condition
NotReady
. -
La machine virtuelle qui s'exécutait sur le nœud défaillant a pour valeur
RunStrategy
Always
. -
Vous avez installé l'OpenShift CLI (
oc
).
10.10.2. Suppression de nœuds d'un cluster bare metal
Lorsque vous supprimez un nœud à l'aide de la CLI, l'objet nœud est supprimé dans Kubernetes, mais les pods qui existent sur le nœud ne sont pas supprimés. Tous les pods nus qui ne sont pas soutenus par un contrôleur de réplication deviennent inaccessibles à OpenShift Container Platform. Les pods soutenus par des contrôleurs de réplication sont replanifiés sur d'autres nœuds disponibles. Vous devez supprimer les pods de manifeste locaux.
Procédure
Supprimez un nœud d'un cluster OpenShift Container Platform fonctionnant sur du métal nu en effectuant les étapes suivantes :
Marquer le nœud comme non ordonnançable :
$ oc adm cordon <node_name>
Drainer tous les pods sur le nœud :
oc adm drain <node_name> --force=true
Cette étape peut échouer si le nœud est hors ligne ou ne répond pas. Même si le nœud ne répond pas, il est possible qu'il exécute toujours une charge de travail qui écrit dans le stockage partagé. Pour éviter toute corruption de données, mettez le matériel physique hors tension avant de poursuivre.
Supprimer le nœud de la grappe :
oc delete node <node_name> $ oc delete node <node_name>
Bien que l'objet nœud soit désormais supprimé du cluster, il peut toujours rejoindre le cluster après un redémarrage ou si le service kubelet est redémarré. Pour supprimer définitivement le nœud et toutes ses données, vous devez le déclasser.
- Si vous avez mis le matériel physique hors tension, remettez-le sous tension pour que le nœud puisse rejoindre le cluster.
10.10.3. Vérification du basculement d'une machine virtuelle
Une fois que toutes les ressources ont été supprimées sur le nœud malsain, une nouvelle instance de machine virtuelle (VMI) est automatiquement créée sur un nœud sain pour chaque VM relocalisée. Pour confirmer que la VMI a été créée, affichez toutes les VMI à l'aide du CLI oc
.
10.10.3.1. Liste de toutes les instances de machines virtuelles à l'aide de l'interface de gestion
Vous pouvez lister toutes les instances de machines virtuelles (IMV) de votre cluster, y compris les IMV autonomes et celles appartenant à des machines virtuelles, en utilisant l'interface de ligne de commande (CLI) oc
.
Procédure
Dressez la liste de toutes les IMV en exécutant la commande suivante :
$ oc get vmis