Kubernetes Borg/Omega history topic 6: Watch. This is a deep topic. It's a follow-up to the controller topic. I realized that I forgot to link to the doc about Kubernetes controllers: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/controllers.md …
-
Show this thread
-
Borgmaster had 2 models: built-in logic used synchronous edge-triggered state machines, while external components were asynchronous and level-based. More on level vs. edge triggering:https://hackernoon.com/level-triggering-and-reconciliation-in-kubernetes-1f17fe30333d …
1 reply 1 retweet 10 likesShow this thread -
One of the first things I did when joining the Borgmaster team back in 2009 was to parallelize the handling of read requests. Something like 99% of requests were reads, primarily from polling external controllers and monitoring systems.
1 reply 0 retweets 2 likesShow this thread -
Only BNS (analogous to K8s Endpoints) was written to Chubby, which enabled replicated caching and update notification. That enabled it to scale to much larger numbers of readers (~every container in Borg) and reduced latency, which for polling could be tens of seconds
1 reply 0 retweets 1 likeShow this thread -
Watch-like notification APIs (aka sync and tail) were common for storage systems such as Chubby, Colossus, and Bigtable. In 2013, a generalized Watch API was designed so that each system wouldn't need to reinvent the wheel. A variant "Observe" added per-entity sequencing
1 reply 0 retweets 1 likeShow this thread -
We built Kubernetes upon Etcd due to its similarities to Chubby and to the Omega store. When we exposed Etcd's watch (https://coreos.com/etcd/docs/latest/learning/api.html …) through the K8s API, we let more Etcd details bleed through than originally intended. We need to clean up some of those details soon
2 replies 0 retweets 8 likesShow this thread -
-
Replying to @pires_oss
Good question. We're starting to at least identify the issues as we write conformance tests for Watch. There are at least 2 examples of replacing Etcd in the ecosystem. We need to make sure that the ecosystem of controllers will be portable.
2 replies 0 retweets 3 likes
Resource version semantics:https://docs.google.com/document/d/1x3JXKwPTpum8S6bC-YXvoGS583iixuQSskEGukTAzcI/edit#heading=h.ntg6c7575pfc …
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
