talk-technical-overview-of-kubernetes
https://www.youtube.com/watch?v=WwBdNXt6wO4
At 3:10 - different people do ops at different levels (kernel guys like CoreOS do it at the kernel level), app developers do it at the app level, and container orchestration guys do it at the container orchestration level.
At 4:02 - unified compute substrate
At 5:07 - overview of kubernetes-architecture
At 5:30 - a RESTful API - has swagger support
At 5:50 - Small, focused binaries
At 6:15 - Reconciliation and self-healing. Intended to be an online system, a control system that maintains and heals the world.
At 8:48 - "These labels are just key/value pairs, and they are really useful for organizing your things. One of the things we learned early on inside of Google is that actually hierarchical representations of things inevitably fall down. You can make up a great representation that's perfectly aligned to your view of the world as a developer, and then the business guy will come along and say 'no that doesn't match up to billing at all. Your view of an application stack doesn't match up at all to the way that we bill for it.' So what we've learned from that is that actually we need to have the ability to have many different kinds of dynamic sets and allow people to slice and query across the state of running things to provide the perspective that makes the most sense for them." ^labels
At 10:10 - "You might say, 'well why don't you just put them in the same container?' and there's a lot of discussion about multiple processes.."
He puts forward the argument of the separation of concerns, and the ability to use these things in a composable fashion.
"Build these composable, modular, re-usable building blocks" ^multiple-processes-in-a-container-or-use-pod
At 12:45 - starts talking about labels
At 13:58 - talks about reconciliation
At 15:30 - when you say create a pod, the scheduler goes to a machine as says "your desired state is that you're running these pods". The kubelet that's running on that machine understands the desired state and the current state and attempts to get to the desired state.
At 17:15 - replication controller
At 18:00 - "I want these labels to define the set that I'm replicating across"
At 18:35 - Services
At 21:30 - Microservices facilitate team growth. By standing up an interface, then you can have a team (even a remote one) work on the problem. ^microservices-and-team-growth
At 2x:xx - 5-6 people ^best-team-size
At 26:15 - It creates a new replication controller
kubectl -s http://localhost:8080 foo