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