Pod Security Admission and NetworkPolicies address two specific security concerns — Pod hardening requirements and network traffic control — but leave a large space of organisational policies unenforced: image registries must be from approved sources only, all Deployments must have resource limits, all Ingress resources must use TLS, all containers must have a Trivy-clean image signature, teams must not deploy to namespaces they do not own. OPA Gatekeeper and Kyverno implement these arbitrary organisational policies as admission webhooks using a policy-as-code approach: policies are expressed in declarative languages (Rego for Gatekeeper, YAML-native rules for Kyverno), stored as Kubernetes CRD objects, and enforced at API server admission time. The result is that the cluster enforces every agreed engineering standard automatically, making it impossible to deploy a configuration that violates policy regardless of which developer, CI pipeline, or automation tool submits the request.
25 minintermediate
OPA Gatekeeper and Kyverno — policy-as-code for cluster governance
Analogy🏏Cricket
🏏 Think of it like cricket: The Pod-ReplicaSet-Deployment hierarchy maps precisely onto the three levels of IPL franchise team management. A Pod is a single player on the field at a given moment — the smallest unit of participation, carrying its own identity and fulfilling a specific role in the current game. A ReplicaSet is the franchise's match-day playing XI contract — it specifies that exactly eleven players matching a specific profile must always be on the field; if one is injured and leaves, the team management immediately sends a substitute of the same profile to restore the count. A Deployment is the franchise's season-long team strategy — it manages how the playing XI evolves between matches: when a new batting approach is adopted, the Deployment replaces the old XI with the new one in a controlled rolling substitution rather than swapping all eleven players simultaneously and disrupting team cohesion. Just as the franchise director does not manage individual players directly — the playing XI contract (ReplicaSet) handles the count and the season strategy (Deployment) handles the transitions — you never manage Pods directly in production; the Deployment manages the transition and the ReplicaSet maintains the count. This reveals why the three-level hierarchy exists rather than one omnibus 'workload' object: each level solves one specific problem, and composing three focused abstractions produces better separation of concerns than one object that conflates scheduling, scaling, and update management.
Lesson 25 of 33
0% complete