sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/tasks/control-plane/kubeadm-control-plane.md (about)

     1  # Kubeadm control plane
     2  
     3  Using the Kubeadm control plane type to manage a control plane provides several ways to upgrade control plane machines.
     4  
     5  <aside class="note warning">
     6  
     7  <h1>Warning</h1>
     8  
     9  KubeadmControlPlane is solely supporting CoreDNS as a DNS server at this time.
    10  
    11  </aside>
    12  
    13  ### Kubeconfig management
    14  
    15  KCP will generate and manage the admin Kubeconfig for clusters. The client certificate for the admin user is created
    16  with a valid lifespan of a year, and will be automatically regenerated when the cluster is reconciled and has less than
    17  6 months of validity remaining.
    18  
    19  ### Upgrades
    20  
    21  See the section on [upgrading clusters][upgrades].
    22  
    23  ### Running workloads on control plane machines
    24  
    25  We don't suggest running workloads on control planes, and highly encourage avoiding it unless absolutely necessary.
    26  
    27  However, in the case the user wants to run non-control plane workloads on control plane machines they
    28  are ultimately responsible for ensuring the proper functioning of those workloads, given that KCP is not
    29  aware of the specific requirements for each type of workload (e.g. preserving quorum, shutdown procedures etc.).
    30  
    31  In order to do so, the user could leverage on the same assumption that applies to all the
    32  Cluster API Machines:
    33  
    34  - The Kubernetes node hosted on the Machine will be cordoned & drained before removal (with well
    35    known exceptions like full Cluster deletion).
    36  - The Machine will respect PreDrainDeleteHook and PreTerminateDeleteHook. see the
    37    [Machine Deletion Phase Hooks proposal](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20200602-machine-deletion-phase-hooks.md)
    38    for additional details.
    39  
    40  ### In-place propagation
    41  Changes to the following fields of KubeadmControlPlane are propagated in-place to the Machines and do not trigger a full rollout:
    42  - `.spec.machineTemplate.metadata.labels`
    43  - `.spec.machineTemplate.metadata.annotations`
    44  - `.spec.nodeDrainTimeout`
    45  - `.spec.nodeDeletionTimeout`
    46  - `.spec.nodeVolumeDetachTimeout`
    47  
    48  Changes to the following fields of KubeadmControlPlane are propagated in-place to the InfrastructureMachine and KubeadmConfig:
    49  - `.spec.machineTemplate.metadata.labels`
    50  - `.spec.machineTemplate.metadata.annotations`
    51  
    52  Note: Changes to these fields will not be propagated to Machines, InfraMachines and KubeadmConfigs that are marked for deletion (example: because of scale down).
    53  
    54  <!-- links -->
    55  [upgrades]: ../upgrading-clusters.md#how-to-upgrade-the-kubernetes-control-plane-version