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.
RemarquePour 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 commandestanzu cluster machinehealthcheck control-plane set/get/delete
ettanzu cluster machinehealthcheck node set/get/delete
. Les commandestanzu cluster machinehealthcheck set/get/delete
sont déconseillées et seront supprimées dans une version ultérieure.
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.
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.
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.
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.