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

     1  @startuml
     2  title Figure 2. Cluster update with ClusterClass 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" : Update Cluster object with\n""Cluster.Spec.Class""
    18  "API Server" --> "Cluster Controller": Existing Cluster
    19  opt #FFFFFFCC Required only if Cluster.Spec.Class is set
    20    "Cluster Controller" -> "Cluster Controller": Fetches the InfrastructureCluster object\nset in Cluster.spec.infrastructureRef
    21    opt Update the InfrastructureCluster
    22      "Cluster Controller" -> "Cluster Controller": Updates InfrastructureCluster fields
    23      "Cluster Controller" -> "API Server": Updates InfrastructureCluster object
    24    end
    25  
    26    "Cluster Controller" -> "Cluster Controller": Fetches the ControlPlane object\nset in Cluster.spec.controlPlaneRef
    27    opt Update the ControlPlane
    28      "Cluster Controller" -> "Cluster Controller": Rotates the InfrastructureMachineTemplate
    29      "Cluster Controller" -> "Cluster Controller": Updates ControlPlane fields, replicas, version
    30      "Cluster Controller" -> "API Server": Updates ControlPlane object
    31    end
    32  
    33    "Cluster Controller" -> "API Server": Fetches the MachineDeployments for worker node pools
    34    opt For each worker node pool
    35      alt If worker node pool was removed from topology
    36        "Cluster Controller" -> "API Server": Delete MachineDeployment
    37      else If new worker node pool was added to topology
    38        "Cluster Controller" -> "API Server": Create MachineDeployment
    39      end
    40    end
    41    opt For the remaining worker node pools
    42      loop For each worker
    43        "Cluster Controller" -> "Cluster Controller": Rotates InfrastructureMachineTemplate and BootstrapTemplate
    44        "Cluster Controller" -> "Cluster Controller": Updates replicas, labels, annotations and version\n for MachineDeployment
    45        "Cluster Controller" -> "API Server": Updates MachineDeployment
    46      end
    47    end
    48  end
    49  
    50  
    51  hide footbox
    52  @enduml