sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/controlplane/controlplane-init-2.plantuml (about)

     1  @startuml
     2  title User creates a Cluster with KubeadmControlPlane
     3  
     4  ' -- GROUPS START ---
     5  
     6  box #lightgreen
     7  participant "API Server"
     8  end box
     9  
    10  box #violet
    11  participant "KubeadmControlPlane Controller"
    12  end box
    13  
    14  ' -- GROUPS END ---
    15  
    16  note right of "KubeadmControlPlane Controller":Watches KubeadmControlPlanes,\nClusters, and owned Machines
    17  
    18  "API Server"-->>"KubeadmControlPlane Controller": Cluster Updated
    19  
    20  "KubeadmControlPlane Controller"-> "KubeadmControlPlane Controller":Enqueues KubeadmControlPlane Reconcile
    21  
    22  "KubeadmControlPlane Controller"-> "KubeadmControlPlane Controller":KubeadmControlPlane Controller Reconcile
    23  activate "KubeadmControlPlane Controller"
    24  
    25  note over "KubeadmControlPlane Controller": - ✅ KubeadmControlPlane.OwnerReferences \ncontains a Cluster
    26  
    27  "KubeadmControlPlane Controller"->"API Server": Get Cluster
    28  "KubeadmControlPlane Controller"<<--"API Server": Response
    29  
    30  note over "KubeadmControlPlane Controller": - ✅ Cluster.Status.InfrastructureReady is true\n- ✅ KubeadmControlPlane instance is valid
    31  
    32  "KubeadmControlPlane Controller"->"API Server": Get Machines matching label selector
    33  "KubeadmControlPlane Controller"<<--"API Server": Response
    34  
    35  opt #FFFFFFCC KubeadmControlPlane.Spec.Replicas >= 1, no existing Machines found
    36  
    37  "KubeadmControlPlane Controller"->"API Server": Create KubeadmConfig from KubeadmControlPlane.Spec.KubeadmConfigSpec
    38  "KubeadmControlPlane Controller"<<--"API Server": Response
    39  
    40  "KubeadmControlPlane Controller"->"API Server": Create InfrastructureMachine from KubeadmControlPlane.Spec.InfrastructureTemplate
    41  "KubeadmControlPlane Controller"<<--"API Server": Response
    42  
    43  "KubeadmControlPlane Controller"->"API Server": Create Machine using refs from created KubeadmConfig and InfrastructureMachine resources
    44  "KubeadmControlPlane Controller"<<--"API Server": Response
    45  
    46  end
    47  
    48  "KubeadmControlPlane Controller"->"API Server": Patch KubeadmControlPlane
    49  "KubeadmControlPlane Controller"<<--"API Server": Response
    50  
    51  hide footbox
    52  @enduml