2

以下のように私の /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"

ポッドを 1 つだけ持つ「dep1」という 1 つのデプロイメントを作成し、このポッドをヘルス ノード「test1」にデプロイしてから、test1 exec にデプロイしました。

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

「ノードシャットダウンエラー」を発生させます。約 30 秒前のノード: test1 が NotReady ステータスになります ( kubectl get nodekubemaster マシンで)。しかし、そのデプロイの 5 分後: dep1 のポッドは別のノードに転送されます。だから私は2つの質問があります:

  1. あるノードがそのノードのポッドをシャットダウンして別のヘルス ノードに転送する時間を制御するにはどうすればよいですか?

2.-pod-eviction-timeout=10s。kubelet がダウンしているため、誰もそのポッドを削除できないため、このパラメーターは役に立たないようです。ありがとう!

4

1 に答える 1

2

無駄ではありません--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

仕事だ!したがって、controller-manager が構成ファイル /etc/kubernetes/controller-manager をロードしなかった理由がわかりません。

于 2016-06-21T11:32:25.943 に答える