Kubernetes is a cluster-level control system. You hand it a declarative description of what should be running — how many replicas of which image, which storage claim, which network rules, which limits — and a set of controllers works continuously to make the machines match that description. The API is identical everywhere. What is not identical is who owns the parts underneath it, and in Pune that question splits three ways: a vendor distribution running inside a bank's own racks with no route out to the public internet, a managed control plane in the cloud region next door, and a three-node cluster wired into a plant network with an intermittent link back to head office.
The control plane is where that difference bites. The API server is the only front door, etcd holds the entire declared and observed state, the scheduler decides placement, and controllers close the gap between what was asked for and what exists; on each node the kubelet runs containers and reports back. A managed provider owns all of that and hands you an upgrade button. Run it yourself and every one of those becomes a written procedure: certificate rotation before expiry, an etcd snapshot somebody has actually restored from, a version skew policy between control plane and kubelets, and an image path that does not assume a public registry is reachable.
Around that core sits the machinery real workloads need — Deployments, StatefulSets, DaemonSets and Jobs; Services, CoreDNS and a CNI plugin; Ingress, NetworkPolicy, PersistentVolumes and StorageClasses; ConfigMaps, Secrets and RBAC. On an estate with no cloud controller behind it several of those defaults simply do nothing: a LoadBalancer service stays pending forever, dynamic provisioning needs a driver you install and operate yourself, and every image has to already exist in a registry you run. Kubernetes is a platform for building platforms, and the platform you end up building is shaped by the constraints of the site it runs on.
Why this skill matters now
Kubernetes demand in Pune no longer comes from teams deciding whether to adopt it. It comes from teams that adopted it two or three years ago and are now carrying the consequences. The banking, insurance and payments captives running clusters on their own infrastructure have reached the point where a version is approaching end of support, certificates are approaching expiry, and nobody in the group has performed a restore. That is a very different request from "teach us containers", and it is the one that arrives most often.
The product and platform teams whose clusters sit in the cloud region next door have the opposite pressure: multi-tenancy, autoscaling behaviour, spot interruptions and a cost line that finance can now see. The manufacturing groups pushing small clusters toward plant sites have a third problem entirely — hardware that cannot be scaled out, a link that drops, and a maintenance window measured in minutes at a shift changeover.
Hiring has moved with all of that. Local platform-engineering roles now expect a packaging story, a working ingress and certificate story, and evidence that the candidate has taken a live cluster through a minor version upgrade without an outage. Reading manifests is assumed. Operating the thing is what gets paid for, which is why this syllabus spends its back half on upgrades, recovery and diagnosis rather than on deploying a first pod.