首页 > 解决方案 > Kubernetes 应用程序停机时间

问题描述

我已经用一个 master 和两个 Worker 设置了 kubernetes,但是我面临一个问题。

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

有什么方法可以在不停机的情况下使 pod 失效?

标签: kuberneteskubectlminikubekubernetes-helmkubernetes-ingress

解决方案


除非您有多个副本(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 开始)

推荐阅读