<p>I have 2 Slave and 1 Master node kubernetes cluster.When a node down it takes approximately 5 minutes to kubernetes see that failure.I am using dynamic provisioning for volumes and this time is a little bit much for me.How can i reduce that detecting failure time ?
I found a post about it:
<a href="https://fatalfailure.wordpress.com/2016/06/10/improving-kubernetes-reliability-quicker-detection-of-a-node-down/" rel="nofollow noreferrer">https://fatalfailure.wordpress.com/2016/06/10/improving-kubernetes-reliability-quicker-detection-of-a-node-down/</a> </p>

<p>At the bottom of the post,it says, we can reduce that detection time by changing that parameters:</p>

<p><b>kubelet: node-status-update-frequency=4s (from 10s)<br>
controller-manager: node-monitor-period=2s (from 5s)<br>
controller-manager: node-monitor-grace-period=16s (from 40s)<br>
controller-manager: pod-eviction-timeout=30s (from 5m)</b></p>

<p>i can change node-status-update-frequency parameter from kubelet but i don't have any controller manager program or command on the cli.How can i change that parameters? Any other suggestions about reducing detect downtime will be appreciated.</p>

Adi Soyadi
<blockquote>
  <p>..but i don't have any controller manager program or command on the
  cli.How can i change that parameters?</p>
</blockquote>

<p>You can change/add that parameter in <code>controller-manger</code> systemd unit file and restart the daemon. Please check the man pages for <code>controller-manager</code> <a href="https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/" rel="nofollow noreferrer">here</a>. </p>

<p>If you deploy <code>controller-manager</code> as micro service(pod), check the manifest file for that pod and change the parameters at container's <code>command</code> section(For example like <a href="https://github.com/veerendra2/my-k8s-applications/blob/master/nodecellar/nodecellar-deployement.yaml#L23" rel="nofollow noreferrer">this</a>)</p>
