sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/machine-states-preboot/Figure3.plantuml (about)

     1  @startuml
     2  title Figure 3: User creates a machine with kubeadm bootstrapper
     3  actor User
     4  
     5  ' -- GROUPS START ---
     6  
     7  box #lightgreen
     8  participant "API Server"
     9  end box
    10  
    11  box #lightblue
    12  participant "Cluster API Machine Controller"
    13  end box
    14  
    15  ' -- GROUPS END ---
    16  
    17  User->"API Server":kubectl apply -f machine.yaml
    18  "API Server"-->>"Cluster API Machine Controller": New Machine
    19  
    20  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Machine Controller Reconcile
    21  activate "Cluster API Machine Controller"
    22  
    23  
    24  note over "Cluster API Machine Controller": - ✅ Machine.Status.Phase is empty\n- ✅ Machine.Spec.Bootstrap.Data is <nil>\n- ✅ Machine.Spec.Bootstrap.ConfigRef is populated\n- ✅ Machine.Spec.Bootstrap.ConfigRef -> Status.Ready is false
    25  
    26  opt #FFFFFFCC Required only if the object hasn't been seen before
    27  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Add watcher for \nMachine.Spec.Bootstrap.ConfigRef.Kind objects
    28  end
    29  
    30  opt #FFFFFFCC Required only if the object hasn't been seen before
    31  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Add watcher for \nMachine.Spec.InfrastructureRef.Kind objects
    32  end
    33  
    34  opt #FFFFFFCC Required only if the object hasn't been seen before
    35  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Add watcher for \nMachine.Spec.Bootstrap.ConfigRef.Kind objects
    36  end
    37  
    38  opt #FFFFFFCC Required only if the object doesn't have a Machine owner reference
    39  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Set Machine.Spec.Bootstrap.ConfigRef -> OwnerReferences[0] to Machine
    40  "Cluster API Machine Controller"->"API Server": Update KubeadmBootstrapConfig
    41  "Cluster API Machine Controller"<<--"API Server": Response
    42  end
    43  
    44  opt #FFFFFFCC Required only if the object doesn't have a Machine owner reference
    45  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Set Machine.Spec.InfrastructureRef -> OwnerReferences[0] to Machine
    46  "Cluster API Machine Controller"->"API Server": Update AWSInfrastructureConfig
    47  "Cluster API Machine Controller"<<--"API Server": Response
    48  end
    49  
    50  "Cluster API Machine Controller"-> "Cluster API Machine Controller":Set Machine.Status.Phase = "Pending"
    51  
    52  "Cluster API Machine Controller"->"API Server": Update Machine Status
    53  "Cluster API Machine Controller"<<--"API Server": Response
    54  
    55  deactivate "Cluster API Machine Controller"
    56  
    57  hide footbox
    58  @enduml