What goes down the drain?
summary
Explains how to drain nodes with concrete commands and APIs: uses kubectl drain to cordon a node and trigger evictions, prefers the eviction API (v1.7+) over direct delete for finer control, and enforces safety with pod disruption budget maxUnavailable=0 examples. Covers handling heavy workloads (VM migrations, storage rebuilds), shows a node-maintenance CRD/controller that creates a server-side drain, cordons the node, evicts pods (daemonsets exempt), and successfully returns the node to schedulable when the CRD is removed.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:24Topic
- 1:15Misconception
- 1:59What is drained
- 2:28Involuntary disruptions
- 3:49Preventive methods
- 4:30Limits and Requests
- 5:23Voluntary disruptions
- 6:04Cluster administrator
- 6:50No drain
- 7:16On in
- 7:57CLI
- 8:33Delete API
- 9:23Eviction API
- 10:08Pod Disruption Budget
- 11:57Pod Disruption Budget CR
- 13:48Deletion API
- 15:00Permanent Exceptions
- 16:41Example
- 17:58Service Side Drain
- 19:36Server Side Drain Demo
- 22:23Questions
related talks
27mHighly Available Services During Maintenance Events
22m2024: I Don't Know K8S and at This Point, I'm Too Afraid To Ask
37mHow To Handle Node Shutdown In Kubernetes
26mClean Up Your Room! What Does It Mean to Delete Something in K8s
33mNot so graceful: K8s node failure and stateful workloads
20mSIG-Autoscaling Deep Dive and Q+A
50mKubernetes - going beyond the basics
14mArt of decluttering your Kubernetes cluster
