sigs.k8s.io/cluster-api@v1.7.1/docs/proposals/images/cluster-class/create.plantuml (about)

     1  @startuml
     2  title Figure 1. Cluster with ClusterClass Provisioning process
     3  actor User
     4  
     5  ' -- GROUPS START ---
     6  
     7  box #LightGreen
     8  participant "API Server"
     9  end box
    10  
    11  box #LightBlue
    12  participant "Cluster Controller"
    13  end box
    14  
    15  ' -- GROUPS END ---
    16  
    17  User -> "API Server" : Create Cluster object with\n""Cluster.Spec.Managed.Class""
    18  "API Server" --> "Cluster Controller": New Cluster
    19  opt #FFFFFFCC Required only if Cluster.Spec.Managed.Class is set
    20  "Cluster Controller" --> "API Server": Creates the infrastructure cluster
    21  "Cluster Controller" -> "Cluster Controller": Checks for\nCluster.Spec.ControlPlaneRef
    22  opt Required only if Cluster.Spec.ControlPlaneRef is not set
    23    "Cluster Controller" -> "Cluster Controller": Initializes the control plane \noject using the template
    24    "Cluster Controller" -> "Cluster Controller": Sets the name of the object to <cluster.Name>
    25    "Cluster Controller" -> "Cluster Controller": Sets the replicas & k8s version
    26    "Cluster Controller" -> "API Server": Saves the control plane object
    27    "Cluster Controller" -> "Cluster Controller": Updates the Cluster.Spec.ControlPlaneRef
    28    "Cluster Controller" -> "API Server": Updates Cluster
    29  end
    30  loop For each deployment in\n""cluster.Spec.Managed.Worker.Deployments"" list
    31    "Cluster Controller" -> "API Server": Check for MachineDeployment object\nwith name\n<cluster.Name>-<deployment.Name>
    32    opt If MachineDeployment not found
    33      "Cluster Controller" -> "Cluster Controller": Initializes new MachineDeployment object
    34      "Cluster Controller" -> "Cluster Controller": Sets the name of MD to\n<cluster.Name>-<deployment.Name>
    35      "Cluster Controller" -> "Cluster Controller": Sets the replicas & k8s version
    36      "Cluster Controller" -> "API Server": Saves MachineDeployment
    37    end
    38  end
    39  end
    40  
    41  
    42  
    43  hide footbox
    44  @enduml