<p>I updated kube-apiserver service with default toleration limits as 60 sec.</p>

<pre><code>--default-unreachable-toleration-seconds=60 
--default-not-ready-toleration-seconds=60
</code></pre>

<p>I stopped kubelet in one of my node, it went to not-ready state. </p>

<p>But the problem I am facing is the pods are getting evicted only after 5 minutes from node moved to not-ready state. The expectation is pods should be evicted in 60 seconds.</p>

<p>My kubernetes version is 1.15.</p>

<p>I restarted the kube-controller-manager and kube-apiserver after I made this change.</p>

<p>What is wrong with the procedure?</p>

<p>With those two default toleration parameters, Kubernetes will automatically add a toleration configuration to every pod. Therefore it is very important to redeploy all pods to ensure the toleration is added to all of your pods.</p>

<p>Alternative to changing parameters of kubernetes control plane components which makes it global change for all pod you can also modify the toleration time per pod using the following configuration.</p>

<pre><code>tolerations:
  - key: "node.kubernetes.io/unreachable"
    operator: "Exists"
    effect: "NoExecute"
    tolerationSeconds: 60
  - key: "node.kubernetes.io/not-ready"
    operator: "Exists"
    effect: "NoExecute"
    tolerationSeconds: 60
</code></pre>

<p><a href="https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/#taint-based-evictions" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/#taint-based-evictions</a></p>
