<p>I am running Kubespray v.2.19.0 on 4 bare metal servers running Ubuntu 20.04.  The 4 servers are setup as one master node and 3 worker nodes.  It's a small cluster I run at my house to run my own compute and to &quot;play&quot;</p>
<p>I am trying to run a upgrade using:</p>
<pre><code>ansible-playbook -kK -i inventory/mycluster/hosts.yaml upgrade-cluster.yml --become --become-user=root -e ignore_assert_errors=yes
</code></pre>
<p>But when it tries to cordon off the master node (server name is <code>server</code>) I get the following:</p>
<pre><code>TASK [upgrade/pre-upgrade : Drain node] ****************************************
fatal: [server -&gt; server]: FAILED! =&gt; {&quot;attempts&quot;: 3, &quot;changed&quot;: true, &quot;cmd&quot;: [&quot;/usr/local/bin/kubectl&quot;, &quot;--kubeconfig&quot;, &quot;/etc/kubernetes/admin.conf&quot;, &quot;drain&quot;, &quot;--force&quot;, &quot;--ignore-daemonsets&quot;, &quot;--grace-period&quot;, &quot;300&quot;, &quot;--timeout&quot;, &quot;360s&quot;, &quot;--delete-emptydir-data&quot;, &quot;server&quot;], &quot;delta&quot;: &quot;0:06:02.042964&quot;, &quot;end&quot;: &quot;2023-05-28 10:14:07.440240&quot;, &quot;failed_when_result&quot;: true, &quot;msg&quot;: &quot;non-zero return code&quot;, &quot;rc&quot;: 1, &quot;start&quot;: &quot;2023-05-28 10:08:05.397276&quot;, &quot;stderr&quot;: &quot;WARNING: ignoring DaemonSet-managed Pods: ingress-nginx/ingress-nginx-controller-rmdtj, kube-system/calico-node-rmdjg, kube-system/kube-proxy-fb6ff, kube-system/nodelocaldns-w5tzq\nerror when evicting pods/\&quot;istiod-6b56cffbd9-thdjl\&quot; -n \&quot;istio-system\&quot; (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.\nerror when evicting pods/\&quot;istiod-6b56cffbd9-thdjl\&quot; -n \&quot;istio-system\&quot; (will retry after 5s):...
</code></pre>
<p>Is there some flag I can pass to the upgrade to tell it to ignore the distribution budget or to ignore those errors altogether?</p>

CodeChimp
<p>Rather than trying to create a workaround I'd suggest to resolve the actual problem.</p>
<p>You have two options. You can either increase the replicas to 2. Or you can disable pod disruption budget.</p>
<p>Since you only run a home lab I'd take option two to not waste resources on a second pod that you probably don't need.</p>
<p>Not clear how you installed istio, but that's how you do it using an operator manifest:</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: install.istio.io/v1alpha1 
kind: IstioOperator 
spec: 
  profile: default # your profile
  tag: 1.17.2 # your version 
  values: 
    global: 
      defaultPodDisruptionBudget: 
        enabled: false
</code></pre>
<p>Save it to a file like <code>config.yaml</code> and install it with <code>istioctl install -f config.yaml</code>.</p>
