sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/images/bootstrap-controller.plantuml (about)

     1  @startuml
     2  title Figure 1: State diagram with a generic provider
     3  
     4  (*) --> [  Machine Create  ] "Pending"
     5  
     6  note right
     7  - Bootstrap provider watches Machines in "pending" state,
     8    generates //BootstrapConfig.Status.DataSecretName// and sets
     9    //BootstrapConfig.Status.Ready// = true.
    10  - Machine controller sets //Machine.Spec.Bootstrap.DataSecretName//
    11    from //BootstrapConfig.Status.DataSecretName//.
    12  - Machine controller can now transition to the next state.
    13  end note
    14  
    15  "Pending" --> "Provisioning"
    16  
    17  note right
    18  - Infrastructure provider watches Machines in "provisioning"
    19    state and starts creating infrastructure for those Machines.
    20  - When MachineInfrastructure is ready sets
    21    //MachineInfrastructure.Status.Ready// = true.
    22  - Machine controller sets //Machine.Status.Addresses//
    23    from //MachineInfrastructure.Status.Addresses// and other fields.
    24  end note
    25  
    26  "Provisioning" --> "Provisioned"
    27  
    28  note right
    29  - Machine controller watches Machines in "provisioning" state and
    30    //MachineInfrastructure.Status.Ready// = true.
    31  - Machine controller sets //Machine.Status.Phase// = "provisioned".
    32  end note
    33  
    34  "Provisioned" --> "Running"
    35  
    36  note right
    37  - Machine controller transitions to this state when
    38    //Machine.ProviderID// is set and a Kubernetes Node with
    39    the same //ProviderID// has been found and in Ready state.
    40  end note
    41  
    42  
    43  "Pending" --> "Deleting"
    44  "Provisioning" --> "Deleting"
    45  "Provisioned" --> "Deleting"
    46  "Running" --> "Deleting"
    47  
    48  "Deleting" --> "Deleted"
    49  
    50  "Pending" --> "Failed"
    51  "Provisioning" --> "Failed"
    52  "Provisioned" --> "Failed"
    53  "Running" --> "Failed"
    54  "Deleting" --> "Failed"
    55  "Deleted" --> "Failed"
    56  
    57  "Failed" --> (*)
    58  "Deleted" --> (*)
    59  
    60  hide footbox
    61  @enduml