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