Gérer les contrôles de santé des machines pour les clusters de charge de travail

Cette rubrique explique comment utiliser l'interface de ligne de commande (CLI) Tanzu pour créer, mettre à jour, récupérer et supprimer des objets MachineHealthCheck pour les clusters de charge de travail créés par Tanzu Kubernetes Grid.

Pour plus d'informations, reportez-vous à la section tanzu cluster machinehealthcheck dans la Référence de commande de CLI Tanzu.

Remarque

Pour prendre en charge les contrôles de santé de la machine pour les nœuds de plan de contrôle et de charge de travail, la CLI Tanzu v1.6 et versions ultérieures remplace les commandes tanzu cluster machinehealthcheck set/get/delete par les commandes tanzu cluster machinehealthcheck control-plane set/get/delete et tanzu cluster machinehealthcheck node set/get/delete. Les commandes tanzu cluster machinehealthcheck set/get/delete sont déconseillées et seront supprimées dans une version ultérieure.

À propos de MachineHealthCheck

MachineHealthCheck est un contrôleur qui assure la surveillance de la santé et la réparation automatique des machines. Il est automatiquement activé dans tous les clusters de gestion et de charge de travail pour les nœuds de plan de contrôle et les nœuds worker. Si le contrôleur est activé lorsque vous déployez un cluster, Tanzu Kubernetes Grid crée deux objets par défaut MachineHealthCheck dans le cluster, un pour les nœuds du plan de contrôle et l'autre pour les nœuds worker. Ces objets sont créés dans le même espace de noms que le cluster.

Si vous désactivez le contrôleur, vous pouvez le réactiver à l'aide des commandes documentées dans la section Créer ou mettre à jour un objet MachineHealthCheck. Vous pouvez également utiliser ces commandes pour mettre à jour les objets MachineHealthCheck existants.

Créer ou mettre à jour un objet MachineHealthCheck

Pour créer un objet MachineHealthCheck par défaut,

  • Pour le plan de contrôle d’un cluster, exécutez :

    tanzu cluster machinehealthcheck control-plane set CLUSTER-NAME --mhc-name MHC-NAME
    
  • Pour les nœuds worker d'un cluster, exécutez :

    tanzu cluster machinehealthcheck node set CLUSTER-NAME --mhc-name MHC-NAME
    

Où :

  • CLUSTER-NAME est le nom du cluster cible.
  • MHC-NAME est un nom que vous choisissez pour l'objet MachineHealthCheck. S'il n'est pas spécifié, le nom est défini sur CLUSTER-NAME. Si vous exécutez ces deux commandes, la spécification de --mhc-name est requise.

Vous pouvez également utiliser les commandes ci-dessus pour créer des objets MachineHealthCheck personnalisés ou pour mettre à jour des objets MachineHealthCheck existants. Pour personnaliser ou mettre à jour un objet MachineHealthCheck, vous pouvez spécifier un ou plusieurs des indicateurs suivants :

  • --match-labels : cette option filtre les machines par clés et valeurs d'étiquette. Vous pouvez spécifier une ou plusieurs contraintes d'étiquette. L'objet MachineHealthCheck est appliqué à toutes les machines qui répondent aux contraintes spécifiées. Formatez les paires clé-valeur comme suit :

    tanzu cluster machinehealthcheck control-plane set CLUSTER-NAME --mhc-name MHC-NAME --match-labels "key1:value1,key2:value2"
    tanzu cluster machinehealthcheck node set CLUSTER-NAME --mhc-name MHC-NAME --match-labels "key1:value1,key2:value2"
    
  • --node-startup-timeout : cette option contrôle la durée pendant laquelle le contrôleur MachineHealthCheck attend qu'une machine rejoigne le cluster avant de considérer que la machine est défectueuse. Par exemple, les commandes ci-dessous définissent l'option --node-startup-timeout sur 21m :

    tanzu cluster machinehealthcheck control-plane set my-cluster --mhc-name my-control-plane-mhc --node-startup-timeout 21m
    tanzu cluster machinehealthcheck node set my-cluster --mhc-name my-worker-mhc --node-startup-timeout 21m
    

    Si une machine ne parvient pas à joindre le cluster dans le délai spécifié, le contrôleur MachineHealthCheck recrée la machine.

  • --unhealthy-conditions : cette option peut définir les conditions Ready, MemoryPressure, DiskPressure, PIDPressure et NetworkUnavailable. Le contrôleur MachineHealthCheck utilise les conditions que vous avez définies pour surveiller la santé de votre plan de contrôle et de vos nœuds worker. Pour définir l'état d'une condition, utilisez True, False ou Unknown. Par exemple :

    tanzu cluster machinehealthcheck control-plane set my-cluster --mhc-name my-control-plane-mhc --unhealthy-conditions "Ready:False:5m,Ready:Unknown:5m"
    tanzu cluster machinehealthcheck node set my-cluster --mhc-name my-worker-mhc --unhealthy-conditions "Ready:False:5m,Ready:Unknown:5m"
    

    L'exemple ci-dessus définit la condition Ready sur False:5m et Unknown:5m. Si une machine reste dans l'état Unknown ou False pendant plus de 5m, le contrôleur MachineHealthCheck considère que la machine est défectueuse et la recrée.

Récupérer un objet MachineHealthCheck

Pour récupérer un objet MachineHealthCheck,

  • Pour le plan de contrôle du cluster cible, exécutez :

    tanzu cluster machinehealthcheck control-plane get CLUSTER-NAME --mhc-name MHC-NAME
    

    Vous pouvez omettre l'indicateur --mhc-name si l'objet a été créé avec le nom par défaut.

  • Pour les nœuds worker du cluster cible, exécutez :

    tanzu cluster machinehealthcheck node get CLUSTER-NAME --mhc-name MHC-NAME
    

    Vous pouvez omettre l'indicateur --mhc-name si l'objet a été créé avec le nom par défaut.

Supprimer un objet MachineHealthCheck

Pour supprimer un objet MachineHealthCheck,

  • Pour le plan de contrôle du cluster cible, exécutez :

    tanzu cluster machinehealthcheck control-plane delete CLUSTER-NAME --mhc-name MHC-NAME
    

    Vous pouvez omettre l'indicateur --mhc-name si l'objet a été créé avec le nom par défaut.

  • Pour les nœuds worker du cluster cible, exécutez :

    tanzu cluster machinehealthcheck node delete CLUSTER-NAME --mhc-name MHC-NAME
    

    Vous pouvez omettre l'indicateur --mhc-name si l'objet a été créé avec le nom par défaut.

check-circle-line exclamation-circle-line close-line
Scroll to top icon