管理工作負載叢集的機器健全狀況檢查

本主題說明如何使用 Tanzu 命令列介面 (CLI),為 Tanzu Kubernetes Grid 建立的工作負載叢集建立、更新、擷取和刪除 MachineHealthCheck 物件。

如需詳細資訊,請參閱〈Tanzu CLI 命令參考〉中的 tanzu cluster machinehealthcheck

附註

為了支援同時對控制平面和工作負載節點進行機器健全狀況檢查,Tanzu CLI v1.6 和更新版本將 tanzu cluster machinehealthcheck set/get/delete 命令取代為 tanzu cluster machinehealthcheck control-plane set/get/deletetanzu cluster machinehealthcheck node set/get/delete 命令。tanzu cluster machinehealthcheck set/get/delete 命令已棄用,並將在未來版本中移除。

關於 MachineHealthCheck

MachineHealthCheck 是一個控制器,可為機器提供健全狀況監控和自動修復。不論控制平面或工作節點,所有管理和工作負載叢集中都自動啟用此控制器。如果在部署叢集時啟用控制器,Tanzu Kubernetes Grid 會在叢集中建立兩個預設 MachineHealthCheck 物件,一個用於控制平面節點,另一個用於工作節點。這些物件在與叢集相同的命名空間中建立。

如果您停用控制器,可以使用記錄於建立或更新 MachineHealthCheck 物件中的命令重新啟用它。您也可以使用這些命令來更新現有 MachineHealthCheck 物件。

建立或更新 MachineHealthCheck 物件

若要建立預設 MachineHealthCheck 物件:

  • 對於叢集的控制平面,請執行:

    tanzu cluster machinehealthcheck control-plane set CLUSTER-NAME --mhc-name MHC-NAME
    
  • 對於叢集的工作節點,請執行:

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

其中:

  • CLUSTER-NAME 是目標叢集的名稱。
  • MHC-NAME 是您為 MachineHealthCheck 物件選擇的名稱。如果未指定,則名稱會設為 CLUSTER-NAME。如果同時執行這兩個命令,則需要指定 --mhc-name

您也可以使用上述命令建立自訂的 MachineHealthCheck 物件或更新現有的 MachineHealthCheck 物件。若要自訂或更新 MachineHealthCheck 物件,您可以指定下列一或多個旗標:

  • --match-labels:此選項會依標籤索引鍵和值來篩選機器。您可以指定一或多個標籤限制。MachineHealthCheck 物件會套用到滿足指定限制的所有機器。格式化索引鍵-值配對,如下所示:

    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:此選項控制 MachineHealthCheck 控制器以多少時間等待機器加入叢集,超過後才將機器視為狀況不良。例如,以下命令將 --node-startup-timeout 選項設定為 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
    

    如果機器在指定的時間內未加入叢集,MachineHealthCheck 控制器會重新建立機器。

  • --unhealthy-conditions:此選項可以設定 ReadyMemoryPressureDiskPressurePIDPressureNetworkUnavailable 條件。MachineHealthCheck 控制器會使用您設定的條件來監控您的控制平面和 worker 節點的健全狀況。若要設定條件的狀態,請使用 TrueFalseUnknown。例如:

    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"
    

    上述範例將 Ready 條件設定為 False:5mUnknown:5m。如果機器停留在 UnknownFalse 狀態的時間超過 5mMachineHealthCheck 控制器會將機器視為不正常並重新建立。

擷取 MachineHealthCheck 物件

若要擷取 MachineHealthCheck 物件,請執行以下動作:

  • 對於目標叢集的控制平面,請執行:

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

    如果物件是以預設名稱建立,您可以省略 --mhc-name 旗標。

  • 對於目標叢集的工作節點,請執行:

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

    如果物件是以預設名稱建立,您可以省略 --mhc-name 旗標。

刪除 MachineHealthCheck 物件

若要刪除 MachineHealthCheck 物件,請執行以下動作:

  • 對於目標叢集的控制平面,請執行:

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

    如果物件是以預設名稱建立,您可以省略 --mhc-name 旗標。

  • 對於目標叢集的工作節點,請執行:

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

    如果物件是以預設名稱建立,您可以省略 --mhc-name 旗標。

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