Bangalore, India • Been with the Kubernetes community for ~ 1 year • Work on upstream Kubernetes @ VMware • SIG-{ContribEx, API-Machinery, Node, Architecture}
systems that can self-assess and self-heal? • Control Theory and PID Control • Where does Kubernetes come in? • Extending Kubernetes • Demo • How does CAPI use CRs?
control - System ◦ A system can take inputs and produce outputs. • Where we want to go/our desired state/intent - Set Variable (SV) • Where we currently are/observed state - Process Variable (PV) ◦ System output • How “far” are we currently from our desired state? - Error (e) ◦ e = SP - PV • Who drives the system to where it needs to be? - Controller • A controller that provides system inputs based on system outputs - Closed Loop Controller
adjustments, the following questions come to mind: • What if the adjustment applied overshoots or undershoots the SV? ◦ If it does, its likely to cause a thrashing effect. • Can we take past experiences into account and adjust accordingly or in other words, can we compensate? • Can we look at our current error and predict what the error is going to be in the future?
custom resources. For ex: we can have a custom resource called foo and we can access it through kubectl like any other resource: kubectl get foo GET /apis/{group}/{version}/namespaces/{namespace}/foos
“Universal Control Plane” or a “Platform For Building Platforms” • With this extensibility, we can now create a custom resource that maybe represents an Infrastructure component, ex - VMs. • We can also write custom controllers, similar to the built-in controllers that Kubernetes has, to try and reconcile state. • With this, we can declaratively manage and provision infrastructure, by using Kubernetes as a base layer.
• PID Loops and The Art of Keeping Systems Stable • Kubernetes Design Principles - Understanding The Why • The Magic of Kubernetes Self-Healing Capabilities • Imperative, Declarative and Kubernetes • Deep Dive into Kubernetes Internals for Builders and Operators • The Cluster API Book