Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure some level of self-healing for core components #6

Open
emmanuel opened this issue Aug 8, 2015 · 2 comments
Open

Configure some level of self-healing for core components #6

emmanuel opened this issue Aug 8, 2015 · 2 comments

Comments

@emmanuel
Copy link
Owner

emmanuel commented Aug 8, 2015

Ideally the kube-apiserver will have some sort of watch-dog/babysitter that keeps it running. I see a few options:

@emmanuel
Copy link
Owner Author

emmanuel commented Aug 8, 2015

A. Run under fleet

Submit kube-apiserver.service to fleet per normal, ensuring that only a single instance is running at a time in the cluster

Pros: fleet will restart/reschedule if process or host dies. can co-schedule helper processes (e.g., DNS registration).

Cons: kubelet depends on kube-apiserver address, so I'm unsure of implications of delaying kube-apiserver startup till fleet

@emmanuel
Copy link
Owner Author

emmanuel commented Aug 8, 2015

B. Run under kubelet

Place manifest for pod in directory watched by kubelet --config /etc/kubernetes/manifests (e.g., /etc/kubernetes/manifests/kube-apiserver.yaml)

Pros: apiserver will be visible as a kubernetes component (stats, logs, etc)

Cons: requires hand-picking one host to be special, either via

  1. distinct user data for kube-apiserver host, or
  2. single-instance provisioning after boot, by placing the manifest on the chosen host

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant