summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Philips <brandon.philips@coreos.com>2016-12-21 15:05:31 -0800
committerBrandon Philips <brandon.philips@coreos.com>2016-12-21 15:05:31 -0800
commit3d5eb3e4a3b64b9656ad9b9e59be64803b89f97f (patch)
tree29d38f5871735f39d989ca9fdd89243585f58212
parentd5a8837c95a90ed450b36196b0c942229cb43915 (diff)
design-proposals: self-hosted-kubernetes updates
Address questions around the kubelet node agent and load balancing and control plane nodes.
-rw-r--r--contributors/design-proposals/self-hosted-kubernetes.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/contributors/design-proposals/self-hosted-kubernetes.md b/contributors/design-proposals/self-hosted-kubernetes.md
index 9cca1762..a4d1fae0 100644
--- a/contributors/design-proposals/self-hosted-kubernetes.md
+++ b/contributors/design-proposals/self-hosted-kubernetes.md
@@ -45,6 +45,9 @@ At the end of this process the bootkube can be shut down and the system kubelet
![](self-hosted-final-cluster.png)
+There are a few things to note. First, generally, the control components like the API server, etc will be pinned to a set of dedicated control nodes. For security policy, service discovery, and scaling reasons it is easiest to assume that control nodes will always exist on N nodes.
+
+Another challenge is load balancing the API server. Bedrock for the API server will be DNS, TLS, and a load balancer that live off cluster and that load balancer will want to only healthcheck a handful of servers for the API server port liveness probe.
### Bootkube Challenges
@@ -68,7 +71,7 @@ A simple updater can take care of helping users update from v1.3.0 to v1.3.1, et
The kubelet could be upgraded in a very similar process to that outlined in the self-hosted proposal.
-However, because of the challenges around the self-hosted Kubelet (see above) Tectonic has implemented an alternative scheme that side-steps the self-hosted Kubelet challenges. First, a kubelet system service is launched that uses the [chrooted kubelet](https://github.com/kubernetes/community/pull/131) implemented by the [kubelet-wrapper](https://coreos.com/kubernetes/docs/latest/kubelet-wrapper.html) then when an update is required a daemonset updates the kubelet-wrapper configuration based on version annotations and kills the kubelet PID triggering a restart.
+However, because of the challenges around the self-hosted Kubelet (see above) Tectonic currently has a 1-4 self-hosted cluster with an alternative Kubelet update scheme which side-steps the self-hosted Kubelet issues. First, a kubelet system service is launched that uses the [chrooted kubelet](https://github.com/kubernetes/community/pull/131) implemented by the [kubelet-wrapper](https://coreos.com/kubernetes/docs/latest/kubelet-wrapper.html) then when an update is required a node annotation is made which is read by a long-running daemonset that updates the kubelet-wrapper configuration. This makes Kubelet versions updateable from the cluster API.
#### API Server, Scheduler, and Controller Manager