One Definition of Valid
summary
Zalando removes the split between boundary and runtime validity by reusing runtime routing validation from Skipper-Ingress inside a Kubernetes admission webhook, implemented by extracting a validation interface in Go and exposing composable validators. The system runs across ~250 clusters with 15K Skippers and ~200K routes, and rollout uncovers real problems: missing filter args, typos accepted by the DSL, a Redis client memory leak and credential-dependent filters. Feature flags and staged rollouts work but stabilization takes months.
AI-written summary · about
chapters (24)
- 0:00Kubernetes routing at Zalando
- 1:09Skipper HTTP router
- 2:56Validating 200K routes
- 7:14Definitions of valid route
- 9:02Duplicating Skipper choice
- 10:08Validation reusable interface
- 11:17Rolling out to 250 clusters
- 13:23Redis leaks in validation
- 14:27Bugs halted rollout
- 15:07Rollout strategy tiers
- 16:32Tribal knowledge complexity
- 17:15Monitoring after deployment
- 19:01Strict config insufficient
- 20:25Runtime config testing
- 21:28Debugging Redis leak
- 23:13Fixing routes communication
- 25:03Rollback strategies
- 26:50Rolling back clusters
- 28:18Environments sync rollbacks
- 29:22Skipper Gateway API
- 30:45Validation catching errors
- 32:22Skipper DSL vs CRDs
- 35:14Misconfigured routes danger
- 37:22Q&A
related talks
23mValidating Validations - Who's Watching the Watcher?
37mTaming the Beast: The Move To Declarative API Validation in Kubernetes
26mModern HTTP Routing
23mCRD Validation in Kubernetes
29mEVAPorating Kubernetes Security Risk: Adopting Validating Admission Policy at Scale
10mAre You Sure It Works? Double Check Your Workflow Spec With Validating...
27mk8s Validating Admission Policy And Crossplane - Viktor Farcic
34mHow To Fight Misconfiguration And Bad Intentions
