selfhosting

package
v1.8.0-beta.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2017 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSelfHostedControlPlane

func CreateSelfHostedControlPlane(manifestsDir, kubeConfigDir string, cfg *kubeadmapi.MasterConfiguration, client clientset.Interface, waiter apiclient.Waiter) 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 have to make sure that static pod is deleted correctly before we continue Otherwise, there is a race condition when we proceed without kubelet having restarted the API server correctly and the next .Create call flakes
  9. Do that for the kube-apiserver, kube-controller-manager and kube-scheduler in a loop

Types

type PodSpecMutatorFunc

type PodSpecMutatorFunc func(*v1.PodSpec)

PodSpecMutatorFunc is a function capable of mutating a PodSpec

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL