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