Kubernetes Borg/Omega history topic 2: Borg had Machine key/value attributes that could be used in scheduling constraints. Borgmon had target labels to convey application topology, environment, and locale. But Jobs themselves didn't originally have k/v labels.
-
Show this thread
-
So Borg users would embed attribute values in Job names, separated by dots and dashes, up to 180 characters long, and then parse them out in other systems and tools using complex regular expressions.
1 reply 0 retweets 9 likesShow this thread -
It was clear that load balancers, monitoring systems, and release, rollout, and configuration tools needed common support for identifying attributes that could flow through the entire lifecycle of an application. However, single-value tags, as in gmail and GCE, were missing types
1 reply 0 retweets 8 likesShow this thread -
Thus, in mid 2013, we proposed key/value labels, for both Borg and Google Cloud, to facilitate higher-level application management. Of course, it was much easier to incorporate them into a greenfield project like Kubernetes, which had labels from the beginning.
1 reply 0 retweets 8 likesShow this thread -
Label selector semantics were designed originally for the monitoring system. Monitoring and load-balancing systems wanted to ensure that non-overlapping queries could be constructed. Without disjunction, a common key with different values ensures two selectors don't overlap
1 reply 0 retweets 6 likesShow this thread -
Selectors are also simple enough they could be reverse-indexed, which could be used by watch to find outstanding queries matching labels of a new/changed resource instance. But we haven't implemented this yet in K8s (http://issues.k8s.io/4817 )
1 reply 0 retweets 12 likesShow this thread -
Another thing we haven't implemented yet that SREs asked for in the original design is a way to default, require, prohibit, and validate label keys and values:http://issues.k8s.io/15390
2 replies 3 retweets 18 likesShow this thread -
Replying to @bgrant0607
Need a way to bind a namespace to a node pool for isolation that isn’t opt-in on every pod.
3 replies 0 retweets 1 like -
You may be interested in Scheduling Policy (https://github.com/kubernetes/community/pull/1937 …). Not sure of current status/progress. Try SIG Scheduling.
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.