Kubernetes 我们能有--pod驱逐超时=300m吗?

Kubernetes 我们能有--pod驱逐超时=300m吗?,kubernetes,kubernetes-pod,kubelet,kube-controller-manager,Kubernetes,Kubernetes Pod,Kubelet,Kube Controller Manager,我有一个k8s集群,在我们的集群中,我们不希望pod被逐出,因为pod逐出会对其上运行的应用程序造成很多副作用 为了防止pod退出,我们将所有pod配置为保证QoS。我知道即使这样,如果系统中存在任何资源短缺,pod驱逐也可能发生。我们有监视器在pod和节点内出现资源不足时向我们发出警报。所以我们在豆荚被驱逐之前就知道了路。这有助于我们在pod被驱逐之前采取措施 pod收回的另一个原因是,如果节点处于未就绪状态,则kube控制器管理器将检查pod收回超时,并在该超时后收回pod。我们有监视器在节

我有一个k8s集群,在我们的集群中,我们不希望pod被逐出,因为pod逐出会对其上运行的应用程序造成很多副作用

为了防止pod退出,我们将所有pod配置为保证QoS。我知道即使这样,如果系统中存在任何资源短缺,pod驱逐也可能发生。我们有监视器在pod和节点内出现资源不足时向我们发出警报。所以我们在豆荚被驱逐之前就知道了路。这有助于我们在pod被驱逐之前采取措施

pod收回的另一个原因是,如果节点处于未就绪状态,则kube控制器管理器将检查pod收回超时,并在该超时后收回pod。我们有监视器在节点进入未就绪状态时向我们发出警报。现在,在发出此警报之后,我们希望采取一些措施从应用程序端进行清理,这样应用程序将优雅地结束。要进行此清理,我们需要几个小时以上,但pod收回超时默认为5分钟

将pod收回超时增加到300m可以吗?将此超时增加到这样的限制有什么影响

附言:我知道在这段等待时间内,如果吊舱使用了更多的资源,那么kubelet可以自己驱逐这个吊舱。我想知道等待这么长时间还有什么影响?

如前所述,您的限制是错误的,这应该得到纠正,而不是降低Kubernetes的能力

如果您的
pod
无论出现什么问题都会死亡,默认情况下,它将根据您的配置重新安排。 如果你对此有问题,那么我建议你重做你的架构,重新编写应用程序,以使用Kubernetes应该如何使用它

  • 如果
    pod
    在无响应时仍在发送请求,则应在前面实现LB或将请求排队
  • 如果您的IP在
    pod
    重新启动后发生更改,则应使用DNS和
    服务解决问题,而不是直接连接到pod
  • 如果您的
    pod
    被逐出,请检查原因,提出限制和请求

    关于节点,有一篇非常好的博客文章,它与你想做的相反,但它也提到了为什么340太多

    一旦节点被标记为不健康,kube控制器管理器将根据–pod退出超时=5ms移除其pod

    这是一个非常重要的超时,默认情况下是5m,我认为这太高了,因为尽管节点已经标记为不健康,但kube controller manager不会移除POD,因此它们将通过其服务访问,请求将失败

如果仍要将默认值更改为更高的值,可以考虑更改这些值:

  • kubelet:节点状态更新频率=10s
  • 控制器管理器:节点监控周期=5s
  • 控制器管理器:节点监视器宽限期=40秒
  • 控制器管理器:吊舱收回超时=5m
给更高的

如果您提供更多详细信息,我将尽力提供更多帮助。

如前所述,您的限制是错误的,这应该得到纠正,而不是降低Kubernetes的能力

如果您的
pod
无论出现什么问题都会死亡,默认情况下,它将根据您的配置重新安排。 如果你对此有问题,那么我建议你重做你的架构,重新编写应用程序,以使用Kubernetes应该如何使用它

  • 如果
    pod
    在无响应时仍在发送请求,则应在前面实现LB或将请求排队
  • 如果您的IP在
    pod
    重新启动后发生更改,则应使用DNS和
    服务解决问题,而不是直接连接到pod
  • 如果您的
    pod
    被逐出,请检查原因,提出限制和请求

    关于节点,有一篇非常好的博客文章,它与你想做的相反,但它也提到了为什么340太多

    一旦节点被标记为不健康,kube控制器管理器将根据–pod退出超时=5ms移除其pod

    这是一个非常重要的超时,默认情况下是5m,我认为这太高了,因为尽管节点已经标记为不健康,但kube controller manager不会移除POD,因此它们将通过其服务访问,请求将失败

如果仍要将默认值更改为更高的值,可以考虑更改这些值:

  • kubelet:节点状态更新频率=10s
  • 控制器管理器:节点监控周期=5s
  • 控制器管理器:节点监视器宽限期=40秒
  • 控制器管理器:吊舱收回超时=5m
给更高的


如果您提供更多详细信息,我将尽力提供更多帮助。

为什么不将驱逐阈值设置为您实际的组织容差?正如您所说,系统只在实际负载峰值下激活以保护自身,这意味着您的资源限制不正确。我只是想了解更长的逐出阈值是否有任何影响。我找不到任何关于使用pod驱逐阈值的最佳实践的文档。这就是为什么我必须在这个论坛上提出这个问题。为什么不把驱逐门槛设置为你实际组织的容忍度呢?正如您所说,系统只会在实际负载峰值下激活以保护自身,这意味着您的资源