Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateSelfHostedControlPlane ¶
func CreateSelfHostedControlPlane(cfg *kubeadmapi.MasterConfiguration, client *clientset.Clientset) error
CreateSelfHostedControlPlane is responsible for turning a Static Pod-hosted control plane to a self-hosted one It achieves that task this way: 1. Load the Static Pod specification from disk (from /etc/kubernetes/manifests) 2. Extract the PodSpec from that Static Pod specification 3. Mutate the PodSpec to be compatible with self-hosting (add the right labels, taints, etc. so it can schedule correctly) 4. Build a new DaemonSet object for the self-hosted component in question. Use the above mentioned PodSpec 5. Create the DaemonSet resource. Wait until the Pods are running. 6. Remove the Static Pod manifest file. The kubelet will stop the original Static Pod-hosted component that was running. 7. The self-hosted containers should now step up and take over. 8. In order to avoid race conditions, we're still making sure the API /healthz endpoint is healthy 9. Do that for the kube-apiserver, kube-controller-manager and kube-scheduler in a loop
Types ¶
This section is empty.