如何在Kubernetes按需启动pods?

如何在Kubernetes按需启动pods?,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,为了运行程序,我需要按需创建pod。它将根据需要运行,因此可能在5小时内没有任何运行,然后需要处理10个请求,由于资源限制,我可能需要限制只有5个请求同时运行 我不知道如何在库伯内特斯建造这样的东西 另外值得注意的是,我想为每次运行创建一个新的docker容器,并在容器结束时退出容器。有许多选项,您需要尝试它们。核心工具是HorizontalPodAutoscaler。像KEDA这样的系统建立在这之上,以便更轻松地管理指标。还有一些无服务器工具,如knative或kubeless。或者工作流工具

为了运行程序,我需要按需创建pod。它将根据需要运行,因此可能在5小时内没有任何运行,然后需要处理10个请求,由于资源限制,我可能需要限制只有5个请求同时运行

我不知道如何在库伯内特斯建造这样的东西


另外值得注意的是,我想为每次运行创建一个新的docker容器,并在容器结束时退出容器。

有许多选项,您需要尝试它们。核心工具是HorizontalPodAutoscaler。像KEDA这样的系统建立在这之上,以便更轻松地管理指标。还有一些无服务器工具,如knative或kubeless。或者工作流工具,如Tekton、Dagster或Argo


这取决于您的具体情况。

只要pod内的主进程正在运行,即使没有请求,pod也会启动。如果您只想服务5个请求,最好在应用程序逻辑中实现,否则,如果您指的是pod的限制,那么您可以创建同一pod的5个副本,并确保每个pod一次只服务一个请求。设置RabbitMQ这样的作业队列对您有效吗,然后创建一个长期运行的worker部署来处理队列中的作业?这意味着您不需要编写任何特定于Kubernetes的逻辑,并且(通过一些工作)可以配置Kubernetes HorizontalPodAutoscaler,以便在队列变长时创建更多的工作副本。