Questo argomento spiega come utilizzare la CLI (Command Line Interface) di Tanzu per creare, aggiornare, recuperare ed eliminare gli oggetti MachineHealthCheck
per i cluster del carico di lavoro creati da Tanzu Kubernetes Grid.
Per ulteriori informazioni, vedere tanzu cluster machinehealthcheck
in Informazioni di riferimento sui comandi della CLI di Tanzu.
NotaPer supportare i controlli di integrità delle macchine per il piano di controllo e i nodi del carico di lavoro, la CLI di Tanzu v1.6 e versioni successive sostituisce i comandi
tanzu cluster machinehealthcheck set/get/delete
con i comanditanzu cluster machinehealthcheck control-plane set/get/delete
etanzu cluster machinehealthcheck node set/get/delete
. I comanditanzu cluster machinehealthcheck set/get/delete
sono deprecati e verranno rimossi in una versione futura.
MachineHealthCheck
MachineHealthCheck
è un controller che consente di monitorare e riparare automaticamente l'integrità per le macchine. Viene abilitato automaticamente in tutti i cluster di gestione e del carico di lavoro per i nodi del piano di controllo e i nodi worker. Se il controller è abilitato quando si distribuisce un cluster, Tanzu Kubernetes Grid crea due oggetti MachineHealthCheck
predefiniti nel cluster, uno per i nodi del piano di controllo e uno per i nodi worker. Questi oggetti vengono creati nello stesso spazio dei nomi del cluster.
Se si disattiva il controller, è possibile riabilitarlo utilizzando i comandi indicati in Creazione o aggiornamento di un oggetto MachineHealthCheck
. È inoltre possibile utilizzare i comandi per aggiornare gli oggetti MachineHealthCheck
esistenti.
MachineHealthCheck
Per creare un oggetto MachineHealthCheck
predefinito,
Per il piano di controllo di un cluster, eseguire:
tanzu cluster machinehealthcheck control-plane set CLUSTER-NAME --mhc-name MHC-NAME
Per i nodi worker di un cluster, eseguire:
tanzu cluster machinehealthcheck node set CLUSTER-NAME --mhc-name MHC-NAME
In cui:
CLUSTER-NAME
è il nome del cluster di destinazione.MHC-NAME
è un nome scelto per l'oggetto MachineHealthCheck
. Se non è specificato, il nome viene impostato su CLUSTER-NAME
. Se si eseguono entrambi i comandi, è necessario specificare --mhc-name
.È inoltre possibile utilizzare i comandi precedenti per creare oggetti MachineHealthCheck
personalizzati o aggiornare oggetti MachineHealthCheck
esistenti. Per personalizzare o aggiornare un oggetto MachineHealthCheck
, è possibile specificare uno o più dei flag seguenti:
--match-labels
: Questa opzione filtra le macchine in base alle chiavi e ai valori delle etichette. È possibile specificare uno o più vincoli di etichetta. L'oggetto MachineHealthCheck
viene applicato a tutte le macchine che soddisfano i vincoli specificati. Formattare le coppie chiave-valore come segue:
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
: Questa opzione controlla la quantità di tempo per cui il controller MachineHealthCheck
attende che una macchina venga inserita nel cluster prima di considerare la macchina non integra. Ad esempio i comandi seguenti impostano l'opzione --node-startup-timeout
su 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
Se l'inserimento di una macchina non riesce entro la quantità di tempo specificata, il controller MachineHealthCheck
ricrea la macchina.
--unhealthy-conditions
: Questa opzione può impostare le condizioni Ready
, MemoryPressure
, DiskPressure
, PIDPressure
e NetworkUnavailable
. Il controller MachineHealthCheck
utilizza le condizioni impostate per monitorare l'integrità dei nodi del piano di controllo e dei nodi worker. Per impostare lo stato di una condizione, utilizzare True
, False
o Unknown
. Ad esempio:
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'esempio precedente imposta la condizione Ready
su False:5m
e Unknown:5m
. Se una macchina rimane nello stato Unknown
o False
per un tempo superiore a 5m
, il controller MachineHealthCheck
considera la macchina non integra e la ricrea.
MachineHealthCheck
Per recuperare un oggetto MachineHealthCheck
,
Per il piano di controllo del cluster di destinazione, eseguire:
tanzu cluster machinehealthcheck control-plane get CLUSTER-NAME --mhc-name MHC-NAME
È possibile omettere il flag --mhc-name
se l'oggetto è stato creato con il nome predefinito.
Per i nodi worker del cluster di destinazione, eseguire:
tanzu cluster machinehealthcheck node get CLUSTER-NAME --mhc-name MHC-NAME
È possibile omettere il flag --mhc-name
se l'oggetto è stato creato con il nome predefinito.
MachineHealthCheck
Per eliminare un oggetto MachineHealthCheck
,
Per il piano di controllo del cluster di destinazione, eseguire:
tanzu cluster machinehealthcheck control-plane delete CLUSTER-NAME --mhc-name MHC-NAME
È possibile omettere il flag --mhc-name
se l'oggetto è stato creato con il nome predefinito.
Per i nodi worker del cluster di destinazione, eseguire:
tanzu cluster machinehealthcheck node delete CLUSTER-NAME --mhc-name MHC-NAME
È possibile omettere il flag --mhc-name
se l'oggetto è stato creato con il nome predefinito.