Kubernetes Borg/Omega history topic 1: In Borg, Job Tasks were scheduled into Alloc instances, but almost everyone pinned groups of tasks into each instance. Often these were sidecars, such as for logging or caching.
-
Show this thread
-
It was clear that using such groups as the explicit primitive would be simpler. We called these "Scheduling Units". They were prototyped in Borg, but it was too hard to introduce new concepts. They became "SUnits" in Omega, and then Pods, as in a pod of peas or of whales, in K8s
1 reply 0 retweets 10 likesShow this thread -
We debated whether to embrace the containers-as-lightweight-VMs trend early in Kubernetes and just support one container per pod (initially called Tasks in the code), but I'm glad we didn't. One app per container unlocks the potential for more intelligent management.
2 replies 2 retweets 14 likesShow this thread -
It enables Kubernetes and other systems to observe which apps are running (from their images), when and why they fail, how much CPU and RAM they are using, etc. And, importantly, enables images to be generated as part of the build process rather than during deployment.
1 reply 0 retweets 13 likesShow this thread -
And, something that's often overlooked, a Pod shares a network identity, storage volumes, and other OS and machine resources. This makes it easier to migrate to from VMs.
1 reply 1 retweet 17 likesShow this thread
We started to work on what became the Kubernetes API in October 2013, before we had settled on Open Source or a hosted/managed cloud project. Exploration intensified in early 2014, a few team members started to work on libcontainer, and the container-agent was released in May
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.