2 ms·
Not much internals needed, but actual in depth understanding of Pod kube-api plus at least basics of how scheduler, kubelet, and kubelet drivers interact. Big
by p_l 3y ago
Not much internals needed, but actual in depth understanding of Pod kube-api plus at least basics of how scheduler, kubelet, and kubelet drivers interact.
Big possible win is custom scheduling, but barely anyone seems to know it exists
- paulgb 3y agoYeah, looking into writing a scheduler was basically where we stepped back and said “if we write this ourselves, why not the rest, too”. As I see it, the biggest gains that we were able to get were by making things happen in parallel that would by default happen in sequence, and optimizing for the happy path instead of optimizing for reducing failure. In Kubernetes it's reasonable to have to wait for a dozen things to serially go through RAFT consensus in etcd before the pod runs, but we don't want that. (I made up the dozen number, but my point is that that design would be perfectly acceptable given Kubernetes' design constraints)
- cogman10 3y agoNot surprising to me. People are complaining about how difficult it is to know k8s when you talk about the basic default objects. Getting into the weeds of how the api and control plane work (especially since it has little impact on day to day dev) is something devs tend to just avoid.
- p_l 3y agoHonestly, devs of the applications that run on top probably should not have to worry about it. Instead have a platform team provide the necessary features.