Skip to content

Grading Checklist

  • Identifies that kubectl drain refuses to evict DaemonSet pods by default because they would be immediately rescheduled to the same node.
  • Recommends using --ignore-daemonsets flag to skip DaemonSet-managed pods during drain.
  • Explains that DaemonSet pods are not evicted because the DaemonSet controller would recreate them on the same node.
  • Notes that DaemonSet pods will be removed when the node is actually deleted from the cluster.
  • Distinguishes between DaemonSet pods and regular pods in the drain behavior.
  • Mentions checking for local storage (emptyDir, hostPath) on DaemonSet pods that might need --delete-emptydir-data.
  • Considers whether Fluentd buffers need to be flushed before node removal.
  • Provides the correct full drain command with appropriate flags.
  • Notes that cordoning the node first prevents new pods from being scheduled.
  • Warns against using --force unnecessarily when --ignore-daemonsets is sufficient.
  • Mentions verifying all non-DaemonSet pods have been successfully rescheduled after drain.