kube-controller-manager将一个pod从关闭节点迁移到另一个运行状况节点需要多长时间

时间:2016-06-20 07:23:38

标签: docker kubernetes kubernetes-health-check

我的/ etc / kubernetes / config如下:

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"

/ etc / kubernetes / controller-manager是这样的:“

KUBE_CONTROLLER_MANAGER_ARGS="--port=10252 --node-monitor-grace-period=10s --pod-eviction-timeout=10s --cluster-name=op-k8s"

我创建了一个部署:“dep1”只有一个pod,这个pod部署在一个健康节点:“test1”,然后在test1 exec中:

systemctl stop kubelet.service ;systemctl stop kube-proxy.service ;systemctl stop docker

发出“节点关闭错误”。大约30年前node:test1变为NotReady状态(kubemaster机器中为kubectl get node)。但是在部署五分钟之后:dep1的pod转移到另一个节点。 所以我有两个问题:

  1. 如何控制一个节点关闭该节点中的pod转移到另一个健康节点的时间?
  2. 2.-pod-eviction-timeout = 10s,似乎这个参数没用,导致kubelet下来没人可以删除那个pod。 谢谢!

1 个答案:

答案 0 :(得分:1)

这不是--node-monitor-grace-period=10s --pod-eviction-timeout=10s没用,重点是“控制器管理器”没有加载这些参数! 我使用命令/bin/systemctl restart kube-controller-manager.service启动kube-controller-manager,cat“/usr/lib/systemd/system/kube-controller-manager.service”,如下所示:

[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

cat / etc / kubernetes / controller-manager如下:

###
# 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"

如果我在/usr/lib/systemd/system/kube-controller-manager.service中添加这些参数,如:

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

这是工作! 所以我不知道为什么控制器管理器没有加载配置文件/ etc / kubernetes / controller-manager。