このトピックでは、Tanzu Kubernetes Grid によって作成されたワークロード クラスタの MachineHealthCheck
オブジェクトを作成、更新、取得、および削除するために Tanzu コマンド ライン インターフェイス (CLI) を使用する方法について説明します。
詳細については、「Tanzu CLI コマンド リファレンス」の「tanzu cluster machinehealthcheck
」を参照してください。
注制御プレーン ノードとワークロード ノードの両方でマシン健全性チェックをサポートするため、Tanzu CLI v1.6 以降は、
tanzu cluster machinehealthcheck set/get/delete
コマンドを、tanzu cluster machinehealthcheck control-plane set/get/delete
およびtanzu cluster machinehealthcheck node set/get/delete
コマンドに置き換えます。tanzu cluster machinehealthcheck set/get/delete
コマンドは廃止され、今後のリリースで削除される予定です。
MachineHealthCheck
についてMachineHealthCheck
は、マシンの健全性監視と自動修復を提供するコントローラです。これは、すべての管理クラスタおよびワークロード クラスタ内の制御プレーン ノードとワーカー ノードの両方に対して自動的に有効になります。クラスタを展開するときにコントローラが有効になっている場合、Tanzu Kubernetes Grid は、クラスタ内に 2 つのデフォルトの MachineHealthCheck
オブジェクトを作成します。1 つは制御プレーン ノード用、もう 1 つはワーカー ノード用です。これらのオブジェクトは、クラスタと同じ名前空間に作成されます。
コントローラを無効にした場合、「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
オブジェクトをカスタマイズまたは更新するには、次のフラグを 1 つ以上指定できます。
--match-labels
:このオプションは、ラベルのキーと値によってマシンをフィルタリングします。1 つまたは複数のラベルの制約を指定できます。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
:このオプションは、Ready
、MemoryPressure
、DiskPressure
、PIDPressure
、および NetworkUnavailable
条件を設定できます。MachineHealthCheck
コントローラは、制御プレーン ノードとワーカー ノードの健全性を監視するために設定した条件を使用します。条件のステータスを設定するには、True
、False
、または Unknown
を使用します。例:
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:5m
および Unknown:5m
に設定しています。マシンが 5m
以上 Unknown
または False
状態のままになると、MachineHealthCheck
コントローラはマシンの健全性が良好でないと見なし、マシンを再作成します。
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
フラグを省略できます。