Pod is being evicted by a disruption controller
Production Risk
Medium — indicates active eviction; replicas may be unavailable if PDB is misconfigured.
The DisruptionTarget condition is added to a pod when it is being evicted by a disruption source such as a PodDisruptionBudget eviction, preemption by a higher-priority pod, or a node drain. The condition carries a reason field explaining the source of the disruption.
- 1Node is being drained and the pod was selected for eviction.
- 2A higher-priority pod preempted this pod to free up resources.
- 3A direct Eviction API call targeted this pod.
- 4A PodDisruptionBudget-controlled eviction was triggered.
Pod is in Terminating state and has a DisruptionTarget condition set by the control plane.
kubectl describe pod my-pod # Conditions: # Type Status Reason # DisruptionTarget True EvictionByEvictionAPI
expected output
Conditions: Type Status Reason DisruptionTarget True PreemptionByScheduler
Fix 1
Inspect the disruption reason and act accordingly
WHEN Pod is unexpectedly terminating
kubectl get pod my-pod -o jsonpath='{.status.conditions[?(@.type=="DisruptionTarget")]}'Why this works
The reason field on the condition identifies the eviction source so you can address the root cause (node pressure, quota, priority).
Fix 2
Ensure a PodDisruptionBudget protects critical workloads
WHEN Pod is being evicted too aggressively during drains
kubectl apply -f - <<EOF
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-pdb
spec:
minAvailable: 1
selector:
matchLabels:
app: my-app
EOFWhy this works
A PDB limits simultaneous voluntary disruptions to preserve availability.
✕
DisruptionTarget pod condition introduced.
Kubernetes 1.26 — Pod Disruptions
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev