kubernetes应用程序停机

时间:2018-12-18 23:26:12

标签: kubernetes kubectl minikube kubernetes-helm kubernetes-ingress

我已经为Kubernetes设置了一个管理员和两个工人,但是我面临一个问题。

我创建了apache pod;它将由调度程序自动部署在worker1上。工作正常。当我停止工作人员的一台机器时,理想情况下,将在worker2上生成pod。问题在于,在worker2上线大约需要7分钟。

有没有办法在没有停机的情况下对pod进行故障转移?

1 个答案:

答案 0 :(得分:2)

除非您有多个副本(apache副本)并且有Kubernetes服务转发到您的系统上,否则停机时间会很少。通常,建议将这种体系结构用于HTTP / TCP类型的服务。

但是,如果您需要更快的响应,则可以进行调整:

  • --node-status-update-frequency在kubelet上。 (默认10秒)
  • --kubelet-timeout在kube-apiserver上。默认为低5秒。
  • –-node-monitor-period在kube-controller-manager上。默认为5秒。
  • -–node-monitor-grace-period在kube-controller-manager上。默认为40秒。
  • -–pod-eviction-timeout在kube-controller-manager上。默认为5分钟。

您可以尝试以下操作:

  • kubelet:--node-status-update-frequency=4s(从10秒开始)
  • kube-controller-manager:--node-monitor-period=2s(5s起)
  • kube-controller-manager:--node-monitor-grace-period=16s(从40多岁开始)
  • kube-controller-manager:--pod-eviction-timeout=30s(5m起)