<p>In the documentation <a href="https://kubernetes.io/docs/concepts/workloads/pods/disruptions/" rel="noreferrer">here</a> it is stated that deleting a pod is a voluntary disruption that <code>PodDisruptionBudget</code> should protect against.</p>
<p>I have created a simple test:</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: test
spec:
  minAvailable: 1
  selector:
    matchLabels:
      app: test

---

apiVersion: v1
kind: Pod
metadata:
  name: test
  labels:
    app: test
spec:
  containers:
    - name: test
      image: myimage
</code></pre>
<p>Now if I run <code>apply</code> and then <code>delete pod test</code>, there is no trouble deleting this pod.</p>
<p>If I now run <code>cordon node</code>, then it is stuck as it cannot evict the last pod (which is correct). But the same behavior seems to not be true for deleting the pod.</p>
<p>The same goes if I create a deployment with minimum 2 replicas and just delete both at the same time - they are deleted as well (not one by one).</p>
<p>Do I misunderstand something here?</p>

Ilya Chernomordik
<p>The link in your question refer to static pod managed by kubelet, guess you want this <a href="https://kubernetes.io/docs/concepts/workloads/pods/disruptions/" rel="nofollow noreferrer">link</a> instead.</p>
<p><code>...if I run apply and then delete pod test, there is no trouble deleting this pod</code></p>
<p>PDB protect pod managed by one of the controllers: Deployment, ReplicationController, ReplicaSet or StatefulSet.</p>
<p><code>...if I create a deployment with minimum 2 replicas and just delete both at the same time - they are deleted as well (not one by one)</code></p>
<p>PDB does not consider explicitly deleting a deployment a voluntary disruptions. From the K8s documentation:</p>
<blockquote>
<p>Caution: Not all voluntary disruptions are constrained by Pod
Disruption Budgets. For example, deleting deployments or pods bypasses
Pod Disruption Budgets.</p>
</blockquote>
<p>Hope this help to clear the mist.</p>
