管理工作负载集群的计算机运行状况检查

本主题介绍了如何使用 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 控制器使用您设置的条件监控控制平面和工作节点的运行状况。要设置条件的状态,请使用 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