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

     1  @startuml
     2  title Figure 6: User creates a machine with kubeadm bootstrapper
     3  
     4  
     5  ' -- GROUPS START ---
     6  
     7  box #lightgreen
     8  participant "API Server"
     9  end box
    10  
    11  box #lightsalmon
    12  participant "AWS Infrastructure Controller"
    13  end box
    14  
    15  ' -- GROUPS END ---
    16  
    17  entity AWS
    18  
    19  note over "AWS Infrastructure Controller": Watches AWSInfrastructureConfig\nand Machine events with mapFunc
    20  
    21  "API Server"-->>"AWS Infrastructure Controller": Machine updated
    22  
    23  "AWS Infrastructure Controller"-> "AWS Infrastructure Controller": Enqueues AWSInfrastructureConfig Reconcile
    24  
    25  "AWS Infrastructure Controller"-> "AWS Infrastructure Controller": AWSInfrastructureConfig Controller Reconcile
    26  activate "AWS Infrastructure Controller"
    27  
    28  note over "AWS Infrastructure Controller": - ✅ AWSInfrastructureConfig.OwnerReferences \ncontains a Machine
    29  
    30  "AWS Infrastructure Controller"->"API Server": Get Machine
    31  "AWS Infrastructure Controller"<<--"API Server": Response
    32  
    33  "AWS Infrastructure Controller"->"API Server": Get Cluster
    34  "AWS Infrastructure Controller"<<--"API Server": Response
    35  
    36  note over "AWS Infrastructure Controller": - ✅ Machine.Status.Phase is "Provisioning" \n- ✅ Machine.Spec.Bootstrap.Data is populated (not <nil>)\n- ✅ AWS supports user-data\n- ✅ AWSInfrastructureConfig is valid\n- ✅ AWSInfrastructureConfig.Status.Ready is false
    37  
    38  "AWS Infrastructure Controller"-> "AWS Infrastructure Controller": Copy Machine.Spec.Bootstrap.Data to *ec2.RunInstancesInput
    39  
    40  "AWS Infrastructure Controller"-> AWS: RunInstances(*ec2.RunInstancesInput)
    41  "AWS Infrastructure Controller"<<--AWS: Response
    42  
    43  "AWS Infrastructure Controller"-> "AWS Infrastructure Controller":Set AWSInfrastructureConfig.Status.Ready = true
    44  
    45  "AWS Infrastructure Controller"->"API Server": Update AWSInfrastructureConfig
    46  "AWS Infrastructure Controller"<<--"API Server": Response
    47  
    48  hide footbox
    49  @enduml