kubernetes 配置:
測試node掛 機,發布需要等幾分才會 在其它 的node機器 啟動,這個明顯不合理,對於大多數業務
kube-controller-manager配置:
/etc/systemd/system/kube-controller-manager.service
--node-monitor-grace-period=10s \
--node-monitor-period=3s \
--node-startup-grace-period=20s \
--pod-eviction-timeout=10s \
kubernetes節點失效后pod的調度過程:
0、Master每隔一段時間和node聯系一次,判定node是否失聯,這個時間周期配置項為 node-monitor-period ,默認5s
1、當node失聯后一段時間后,kubernetes判定node為notready狀態,這段時長的配置項為 node-monitor-grace-period ,默認40s
2、當node失聯后一段時間后,kubernetes判定node為unhealthy,這段時長的配置項為 node-startup-grace-period ,默認1m0s
3、當node失聯后一段時間后,kubernetes開始刪除原node上的pod,這段時長配置項為 pod-eviction-timeout ,默認5m0s
在應用中,想要縮短pod的重啟時間,可以修改上述幾個參數
解釋 官方有:
--node-monitor-grace-period duration Default: 40s | |
Amount of time which we allow running Node to be unresponsive before marking it unhealthy. Must be N times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status. | |
--node-monitor-period duration Default: 5s | |
The period for syncing NodeStatus in NodeController. | |
--node-startup-grace-period duration Default: 1m0s | |
Amount of time which we allow starting Node to be unresponsive before marking it unhealthy. | |
--pod-eviction-timeout duration Default: 5m0s | |
The grace period for deleting pods on failed nodes. |