When the TKG Controller provisions a workload cluster on Supervisor, several status conditions are reported that you can use to get direct insight into key aspects of machine health.

About Machine Health Conditions

A TKG cluster comprises several moving parts, all operated by independent but related controllers, working together to build and maintain a set of Kubernetes nodes. The TanzuKubernetesCluster and Cluster object provides status conditions that give you with fine-grained information about machine health.

Check Machine Health

To check the health of a TKG cluster machine:
  1. Connect to Supervisor and log in.
  2. Switch context to the vSphere Namespace where the target TKG cluster is provisioned.
    kubectl config use-context CLUSTER-NAME
  3. Run the command kubectl describe machine.

    The command returns the state of the virtual machine nodes comprising the cluster. If a machine condition such as InfrastructureReady is True and Ready, that aspect of the machine is healthy. But, if a machine condition is False, the machine is not ready. Refer to the list of machine health conditions for descriptions of each machine condition type.

  4. If the machine is not ready, run the following command and determine what is wrong with the infrastructure:
    kubectl describe vspheremachine

List of Machine Health Conditions

The table lists and defines the available machine health conditions for a TKG cluster.

Condition Description
ResourcePolicyReady Reports the successful creation of a Resource Policy.
ResourcePolicyCreationFailed Reported when any errors occur during ResourcePolicy creation.
ClusterNetworkReady Reports the successful provision of a Cluster Network.
ClusterNetworkProvisionStarted Reported when waiting for Cluster Network to be Ready.
ClusterNetworkProvisionFailed Reported when any errors occur during network provisioning.
LoadBalancerReady Reports the successful reconciliation of a static control plane endpoint.
LoadBalancerCreationFailed Reported when load balancer related resources creation fails.
WaitingForLoadBalancerIP Reported when waiting for load balancer IP to exist.
VMProvisioned Reports that a Virtual Machine is created, powered on and assigned an IP.
WaitingForBootstrapData Reported when a vSphereMachine is waiting for the bootstrap script to be ready before starting the provisioning process.
VMCreationFailed Reports that creating VM CRD or corresponding bootstrap ConfigMap failed.
VMProvisionStarted Reported when a virtual machine currently is in creation process.
PoweringOn Reported when a virtual machine is currently executing the power on sequence.
WaitingForNetworkAddress Reported when waiting for the machine network settings to become active.
WaitingForBIOSUUID Reported when waiting for the machine to have a BIOS UUID

Condition Fields

Each condition may contain several fields.
Type Describes the type of condition. For example, ResourcePolicyReady. For the Ready condition, it is a summary of all the other conditions.
Status

Describes the status of the type.

States can be True, False, or Unknown.

Severity

Classification of the Reason.

Info means the reconciliation is happening.

Warning means something might wrong and retry.

Error means an error occured and manual action is required to resolve.

Reason

Provides a reason why the status is False. It can be a waiting for ready or a failure reason. Usually is thrown when the status is False.

Message Human readable information that explains the Reason.