<p>I have a problem, I can't find how to change the pod check parameter to  move on another node. When k8s detects that a node is down . </p>

<p>I found the parameter <code>--sync-synchrionizes</code> but I'm not sure.</p>

<p>Someone know how to do it ?  </p>

<p>You need to change the <code>kube-controller-manager.conf</code> and update the following parameters: (you can find the file in <code>/etc/kubernetes/manifests</code>)</p>

<pre><code>node-status-update-frequency: 10s
node-monitor-period: 5s
node-monitor-grace-period: 40s
pod-eviction-timeout: 30s
</code></pre>

<p>This is what happens when node dies or go into offline mode:</p>

<ol>
<li>The kubelet posts its status to masters by <code>--node-status-update-fequency=10s</code>.</li>
<li>Node goes offline</li>
<li>kube-controller-manager is monitoring all the nodes by <code>--node-monitor-period=5s</code></li>
<li>kube-controller-manager will see the node is unresponsive and has the grace period <code>--node-monitor-grace-period=40s</code> until it considers node unhealthy. PS: This parameter should be in N x node-status-update-fequency</li>
<li>Once the node marked unhealthy, the <code>kube-controller-manager</code> will remove the pods based on <code>--pod-eviction-timeout=5m</code></li>
</ol>

<p>Now, if you tweaked the parameter <code>pod-eviction-timeout</code> to say 30 seconds, it will still take total 70 seconds to evict the pod from node The node-status-update-fequency and node-monitor-grace-period time counts in node-monitor-grace-period also. You can tweak these variable as well to further lower down your total node eviction time.</p>
