Kubernetes : A distributed systems toolkit
Submitted by Dhananjay Sathe (@dhananjaysathe) on Monday, 12 March 2018
Far too often we hear how someone achieved “x” with kubernetes. Looking at the feature list on the cover results in seeing it (and ensuing comparisons ) as yet another orchestration manager or container scheduler or <insert generic tool here>
The real power of kubernetes lies in its design choices, interfaces, philosophy, and community. By establishing a standardized interface, developers and operators can build their services using modular, reusable components with well-understood interactions and boundaries. This, in turn, leads to services that are more reliable, more scalable and faster to build than applications and services built on tribal knowledge with drastically different goals, ideas, and architectures.
The goal of the talk is to find answers to the age-old question “HOW DO I get superpowers with Kubernetes?”. To do this, we take a deep dive into the underpinning mechanics that make k8s such an excellent choice. We touch upon admission controllers, labels and selectors, API-machinery, object formats and the fabled reconciliation loop. We also look at newer features like Aggregated API, initializers, service brokers and CRDs to understand how the ecosystem has evolved to become more extensible and straightforward.
We will then look at examples that leverage these ideas to build schedulers and CI/CD pipelines or automate backups, DNS, monitoring tools, et al. with the operator pattern or even extend kubernetes itself.
In conclusion, the audience will take away crucial knowledge that they could use in their core infrastructure design, application logic and operations to yield high-quality apps, services, and infrastructure.
Briefly the talk outline would be 3-4 segments:
- Introduction to k8s design and interfaces - api/spec format, admission control, reconciliation loop etc
- Look at new features - CRD, Intializers, API Aggregation.
- Examples of how these are used by k8s and external plugins - operator patterns, custom schedulers.
- How can you use this to build your next unicron
Working knowledge of how we design micorservice applications and devops practices like config mangagement, monitoring etc. Basic experience using/toying with kubernetes will help.
Dhananjay Sathe heads the engineering efforts on the Cloud Robotics Platform at Rapyuta Robotics. Prior to this he worked on designing and building the central platform tools at Directi/Endurance to optimize operations and site-reliability efforts at the firm. In the past he has contributed to FOSS projects like the Samba Project and Gnome among others. He has also spoken at conferences like KubeCon EU*, ROSCON, PyCon India, and RootConf India.