Hi Tanul,
Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.
The error "Cannot evict pod as it would violate the pod's disruption budget" happens because your PodDisruptionBudget (PDB) only allows 1 pod to be unavailable at a time (maxUnavailable: 1). Since you have 3 replicas, Kubernetes is preventing the eviction to avoid violating this limit.
To fix this:
Increase maxUnavailable in the PDB:
You can update the PDB to allow more pods to be unavailable, for example:
maxUnavailable: 2
Temporarily Remove the PDB:
If you need to drain the node quickly, you can delete the PDB, drain the node, and then reapply it:
kubectl delete poddisruptionbudget pdb-nginx2
kubectl drain <node>
kubectl apply -f <pdb-file>.yaml
For further details, you can review these documents: PodDisruptionBudget documentation, Troubleshoot the "UnsatisfiablePDB" error during an AKS cluster upgrade.
If you have any further queries, do let us know. If the comment is helpful, please click "Upvote".