In diesem Thema wird erläutert, wie Sie MachineHealthCheck
-Objekte für von Tanzu Kubernetes Grid erstellte Arbeitslastcluster mithilfe der Tanzu-Befehlszeilenschnittstelle (CLI) erstellen, aktualisieren, abrufen und löschen.
Weitere Informationen finden Sie in der Tanzu CLI-Befehlsreferenz unter tanzu cluster machinehealthcheck
.
HinweisUm Maschinenintegritätsprüfungen sowohl für Kontrollebenen- als auch für Arbeitslastknoten zu unterstützen, ersetzt die Tanzu CLI v1.6 und höher den Befehl
tanzu cluster machinehealthcheck set/get/delete
durch die Befehletanzu cluster machinehealthcheck control-plane set/get/delete
undtanzu cluster machinehealthcheck node set/get/delete
. Die Befehletanzu cluster machinehealthcheck set/get/delete
sind veraltet und werden in einer zukünftigen Version entfernt.
MachineHealthCheck
MachineHealthCheck
ist ein Controller, der die Integritätsüberwachung und die automatische Reparatur für Maschinen bereitstellt. Dieser Controller wird für Knoten der Steuerungsebene und Worker-Knoten in allen Verwaltungs- und Arbeitslastclustern automatisch aktiviert. Wenn der Controller bei der Bereitstellung eines Clusters aktiviert wird, erstellt Tanzu Kubernetes Grid zwei MachineHealthCheck
-Standardobjekte im Cluster: eines für die Knoten der Steuerungsebene und eines für die Worker-Knoten. Diese Objekte werden im selben Namespace wie der Cluster erstellt.
Wenn Sie den Controller deaktivieren, können Sie ihn mithilfe der in Erstellen oder Aktualisieren eines MachineHealthCheck
-Objekts dokumentierten Befehle erneut aktivieren. Mit den Befehlen können Sie auch vorhandene MachineHealthCheck
-Objekte aktualisieren.
MachineHealthCheck
-ObjektsSo erstellen Sie ein MachineHealthCheck
-Standardobjekt:
Führen Sie für die Steuerungsebene eines Clusters Folgendes aus:
tanzu cluster machinehealthcheck control-plane set CLUSTER-NAME --mhc-name MHC-NAME
Führen Sie für die Worker-Knoten eines Clusters Folgendes aus:
tanzu cluster machinehealthcheck node set CLUSTER-NAME --mhc-name MHC-NAME
Dabei gilt:
CLUSTER-NAME
ist der Name des Zielclusters.MHC-NAME
ist ein Name, den Sie für das MachineHealthCheck
-Objekt gewählt haben. Wenn Sie keinen Namen angeben, wird als Name CLUSTER-NAME
festgelegt. Wenn Sie beide Befehle ausführen, müssen Sie --mhc-name
angeben.Mit den obigen Befehlen können Sie auch angepasste MachineHealthCheck
-Objekte erstellen oder vorhandene MachineHealthCheck
-Objekte aktualisieren. Um ein MachineHealthCheck
-Objekt anzupassen oder zu aktualisieren, können Sie eines oder mehrere der folgenden Flags angeben:
--match-labels
: Diese Option filtert Maschinen nach Bezeichnungsschlüsseln und Werten. Sie können eine oder mehrere Einschränkungen für Bezeichnungen angeben. Das MachineHealthCheck
-Objekt wird auf alle Maschinen angewendet, die die angegebenen Einschränkungen erfüllen. Geben Sie die Schlüssel-Wert-Paare im folgenden Format an:
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
: Diese Option steuert, wie lange der MachineHealthCheck
-Controller auf den Beitritt einer Maschine zum Cluster wartet, ehe die Maschine als fehlerhaft eingestuft wird. Beispiel: In den folgenden Befehlen wird als Einstellung für die Option --node-startup-timeout
der Wert 21m
festgelegt:
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
Kann eine Maschine nicht innerhalb des angegebenen Zeitraums zum Cluster hinzugefügt werden, erstellt der MachineHealthCheck
-Controller die Maschine neu.
--unhealthy-conditions
: Mit dieser Option können die Bedingungen Ready
, MemoryPressure
, DiskPressure
, PIDPressure
und NetworkUnavailable
festgelegt werden. Der MachineHealthCheck
-Controller verwendet die Bedingungen, die Sie für die Integritätsüberwachung Ihrer Knoten der Steuerungsebene und Ihrer Worker-Knoten festgelegt haben. Den Status einer Bedingung legen Sie mit True
, False
oder Unknown
fest. Beispiel:
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"
Im obigen Beispiel werden als Einstellung für die Bedingung Ready
die Werte False:5m
und Unknown:5m
festgelegt. Verbleibt eine Maschine länger als 5m
im Status Unknown
oder False
, stuft der MachineHealthCheck
-Controller die Maschine als fehlerhaft ein und erstellt sie neu.
MachineHealthCheck
-ObjektsSo rufen Sie ein MachineHealthCheck
-Objekt ab,
Führen Sie für die Steuerungsebene des Zielclusters Folgendes aus:
tanzu cluster machinehealthcheck control-plane get CLUSTER-NAME --mhc-name MHC-NAME
Sie können das Flag --mhc-name
auslassen, wenn das Objekt mit dem Standardnamen erstellt wurde.
Führen Sie für die Worker-Knoten des Zielclusters Folgendes aus:
tanzu cluster machinehealthcheck node get CLUSTER-NAME --mhc-name MHC-NAME
Sie können das Flag --mhc-name
auslassen, wenn das Objekt mit dem Standardnamen erstellt wurde.
MachineHealthCheck
-ObjektsSo löschen Sie ein MachineHealthCheck
-Objekt:
Führen Sie für die Steuerungsebene des Zielclusters Folgendes aus:
tanzu cluster machinehealthcheck control-plane delete CLUSTER-NAME --mhc-name MHC-NAME
Sie können das Flag --mhc-name
auslassen, wenn das Objekt mit dem Standardnamen erstellt wurde.
Führen Sie für die Worker-Knoten des Zielclusters Folgendes aus:
tanzu cluster machinehealthcheck node delete CLUSTER-NAME --mhc-name MHC-NAME
Sie können das Flag --mhc-name
auslassen, wenn das Objekt mit dem Standardnamen erstellt wurde.