The machine lifecycle
Understanding the machine lifecycle can help you troubleshoot machine issues. The lifecycle begins with the request to provision a machine and continues until the machine no longer exists.
The machine lifecycle proceeds in the following order. Interruptions due to errors or lifecycle hooks are not included in this overview.
-
There is a request to provision a new machine for one of the following reasons:
-
A cluster administrator scales a machine set such that it requires additional machines.
-
An autoscaling policy scales machine set such that it requires additional machines.
-
A machine that is managed by a machine set fails or is deleted and the machine set creates a replacement to maintain the required number of machines.
-
-
The machine enters the
Provisioningphase. -
The infrastructure provider creates an instance for the machine.
-
The machine has a provider ID or address and enters the
Provisionedphase. -
The Ignition configuration file is processed.
-
The kubelet issues a certificate signing request (CSR).
-
The cluster machine approver approves the CSR.
-
The machine becomes a node and enters the
Runningphase. -
An existing machine is slated for deletion for one of the following reasons:
-
A user with
cluster-adminpermissions uses theoc delete machinecommand. -
The machine gets a
machine.openshift.io/delete-machineannotation. -
The machine set that manages the machine marks it for deletion to reduce the replica count as part of reconciliation.
-
The cluster autoscaler identifies a node that is unnecessary to meet the deployment needs of the cluster.
-
A machine health check is configured to replace an unhealthy machine.
-
-
The machine enters the
Deletingphase, in which it is marked for deletion but is still present in the API. -
The machine controller removes the instance from the infrastructure provider.
-
The machine controller deletes the
Nodeobject.