sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/controlplane/controlplane-init-6.plantuml (about) 1 @startuml 2 title User scales up a KubeadmControlPlane 3 actor User 4 5 ' -- GROUPS START --- 6 7 box #lightgreen 8 participant "API Server" 9 end box 10 11 box #violet 12 participant "KubeadmControlPlane Controller" 13 end box 14 15 ' -- GROUPS END --- 16 17 User->"API Server":kubectl scale cp/my-control-plane -replicas=3 18 "API Server"-->>"KubeadmControlPlane Controller": KubeadmControlPlane 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, all existing Machines "Ready", num Machines < Replicas 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": Update KubeadmControlPlane 49 "KubeadmControlPlane Controller"<<--"API Server": Response 50 51 hide footbox 52 @enduml