I just finished reading Kubernetes in Action — my first technical book for this year. (this one https://www.amazon.com/dp/1617293725)
I loved that the book was easy to read and follow despite so many details being covered. Chapter 11, 17,18 are great references to understand internals, best practices for app development, and platforms built on top of Kubernetes.
I also have a few questions that I am still processing. If you know, please point me in right direction)
- What other software's exist in cluster management space and how do they compare? Is there a competitor survey/field overview of Kubernetes
- Is there a neat visual summary of different objects, interactions etc in Kubernetes somewhere (one of those pictures you take and keep in office for reference)
- Is there a software to map the data center and split it into best aligned Kubernetes clusters ? (automatically account for data center design, current binaries, firewalls etc)
- Is there a deep dive of how someone’s real production cluster is setup ? What resources are used, how they are used, lessons learnt operating the cluster etc.
- Any deep dives on Kubernetes behavior in edge cases/pathological cases. How gracefully does Kubernetes behave when control plane dies?
- Any collection of “Kubernetes numbers everyone should know” (analogous to https://gist.github.com/jboner/2841832 for latency)
- How does kube guarantee convergence ? ( what prevents two controllers from undoing each others changes or getting into a deadlock) Are there any guarantee's on time to converge to stable state ?
- What changes are atomic and what changes are “rolling” in Kubernetes? For e.g. are service updates atomic?
- How does Kubernetes watch out for physical bottlenecks/room going down etc. etc (physical constraints -> software defined properties definition) (does it have a modelling language and a equation solver which enables it to that or is it just coded in each component? )
Specific/Operational Questions:
- How frequently does Kubernetes kill/relocate/recycle pods (without app caused reason) ? ( for e.g. average life of machine is 3 years, of VMs in cloud is 1 year, what is average life of working pod)
- What syntactic supports are available for Kubernetes and any recommendations (for e.g. autocomplete for commands, UIs for admin tasks, editors for assembling configuration, UI for metrics, monitoring and troubleshooting , “dry run” option for commands , reverse engineer logical cluster setup tools)
- How big is a typical cluster size? 1 rack, 1 room , 1 data center,1 region ? Any latency, bandwidth, reliability assumptions inside a cluster?
- Why applications should write to stdout rather than in log files ( it says so that you can use kubectl logs to see logs, which seemed like poor justification for doing so)
Umesh, Great perspective! Always appreciate thoughtful insights like these. Looking forward to more of your content!
You know the drill. 😀 I see a brownbag coming.