<p>My /etc/kubernetes/config as below:</p>

<pre><code>KUBE_LOGTOSTDERR="--logtostderr=false"
KUBE_LOG_LEVEL="--v=5"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://127.0.0.1:8080 --log-dir=/var/log/kubernetes --stderrthreshold=1"
</code></pre>

<p>/etc/kubernetes/controller-manager like this:"</p>

<pre><code>KUBE_CONTROLLER_MANAGER_ARGS="--port=10252 --node-monitor-grace-period=10s --pod-eviction-timeout=10s --cluster-name=op-k8s"
</code></pre>

<p>I created one deployment:"dep1" which have only one pod, and this pod deployed in a health node: "test1", then in test1 exec: </p>

<pre><code>systemctl stop kubelet.service ;systemctl stop kube-proxy.service ;systemctl stop docker
</code></pre>

<p>to make an "node shutdown error". About 30s ago node: test1 become NotReady status(<code>kubectl get node</code> in kubemaster machine). But after five minutes that deployment: dep1's pod transfer to a another node.
So I have two questions:</p>

<ol>
<li>How can I control the time when one node shutdown the pod in that node transfer to another health node?</li>
</ol>

<p>2.-pod-eviction-timeout=10s, it seems that there is useless of this parameter cause kubelet is down no one can delete that pod.
Thanks!</p>

<p>It's not <code>--node-monitor-grace-period=10s --pod-eviction-timeout=10s</code> useless, the point is "controller-manager" didn't load those parameters! 
I use command <code>/bin/systemctl restart  kube-controller-manager.service</code> to start kube-controller-manager, cat "/usr/lib/systemd/system/kube-controller-manager.service" as below:</p>

<pre><code>[Unit]
Description=Kubernetes Controller Manager
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
EnvironmentFile=-/etc/kubernetes/config
EnvironmentFile=-/etc/kubernetes/controller-manager
User=root
ExecStart=/usr/bin/kube-controller-manager --port=10252 --master=http://127.0.0.1:8080 
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
</code></pre>

<p>cat /etc/kubernetes/controller-manager as below:</p>

<pre><code>###
# The following values are used to configure the kubernetes controller-manager

# defaults from config and apiserver should be adequate

# Add your own!
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --node-monitor-period=5s --pod-eviction-timeout=5m0s"
</code></pre>

<p>If I add those parameters in /usr/lib/systemd/system/kube-controller-manager.service like:</p>

<pre><code>ExecStart=/usr/bin/kube-controller-manager --port=10252 --master=http://127.0.0.1:8080 --node-monitor-grace-period=10s --node-monitor-period=5s --pod-eviction-timeout=10s
</code></pre>

<p>It's work!
So I don't know why controller-manager didn't load the config file /etc/kubernetes/controller-manager.</p>
