This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

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

本主題說明如何使用 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