Gestione dei controlli di integrità delle macchine per i cluster del carico di lavoro

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.

Nota

Per 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 comandi tanzu cluster machinehealthcheck control-plane set/get/delete e tanzu cluster machinehealthcheck node set/get/delete. I comandi tanzu cluster machinehealthcheck set/get/delete sono deprecati e verranno rimossi in una versione futura.

Informazioni su 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.

Creazione o aggiornamento di un oggetto 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.

Recupero di un oggetto 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.

Eliminazione di un oggetto 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.

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