我们有一个大部分时间都相当空闲的服务,因此如果我们可以在服务没有收到任何请求时删除所有的 pod,比如 30 分钟,并且在下一次有新请求时删除所有的 pod,这对我们来说会很棒Kubernetes 将创建第一个 pod 并处理响应。

是否可以将最小 pod 实例数设置为 0?

我发现目前Kubernetes不支持这个,有什么办法可以实现吗?

最佳答案

这在 Kubernetes 中不受 nginx、apache 等 Web 服务器或 pumapassengergunicornunicorn 甚至 Google App Engine Standard 等网络服务器支持的方式支持,它们可以软启动,然后在第一个请求出现时提出其中一个原因是您的第一个请求总是较慢。 (Kubernetes pod 不必以这种方式运行可能有一些基本原理,我可以看到很多设计更改或必须为这种非常具体的情况创建新的工作负载类型)

如果 Pod 处于空闲状态,它就不会消耗那么多资源。您可以针对请求/限制调整 pod resources 的值,以便您请求少量 CPU/内存,并将限制设置为更高数量的 CPU/内存。让 Pod 始终运行的好处是,理论上,您的第一个请求永远不必等待很长时间才能获得响应。

关于kubernetes - 如何根据负载自动缩放pod数量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53330838/

10-16 23:59