Kelsey Hightower
π€ SpeakerAppearances Over Time
Podcast Appearances
So an extension in Mesos was heavy, almost like a whole nother system.
The thing that makes Kubernetes powerful, there's a data model.
We gave infrastructure a type system.
So instead of imperative shell scripts, you finally had types.
So if anyone's ever come from like Python to a type language, types do a lot for you in terms of cognitive overhead.
Like you really know what goes into this function.
If you put the wrong thing into this function, it doesn't even work.
Like you can't pass a string where integer needs to be.
Kubernetes brings the same semantics to infrastructure.
And finally, now it's much safer to automate things because you're gluing together things that actually have structure and types.
Yeah, you can do things like static analysis.
You can have other tools compile different things and ensure that they have the exact same thing.
And you have this validator that tells you that's not the right object, that's not the right field.
And so once you have all of those things, you can build a really nice deployment system.
So KubeCTL deployed these containers, no problem.
But what about everything else?
So instead of trying to evolve Kubernetes to do everything, Brendan Burns, I remember sitting next to him.
He's like, Kelsey, let me show you this thing.
You can extend Kubernetes just by giving it a description of what you would like your object to be.
So if you're thinking about this from the REST world, hey, I need a user, here's the CRUD operations, and just give it to the thing and it does everything else for you.