我希望一个应用程序从队列中提取一个项目,在队列中处理该项目,然后销毁它自己。拉->过程->破坏。
我已经研究了使用作业模式队列和每个工作项的Pod,因为这适合于使用,但是,当我需要作业在队列为空时自动缩放AKA0/1 Pod,并且在添加项时缩放到某个点时,这是不合适的。我能看到的唯一方法是通过部署,但这将删除每个工作项带有Pod的队列模式。每个项目必须有一个新鲜容器。
有没有一种方法可以让每个工作项都有Pod的作业模式队列,但是可以自动缩放?
我有点困惑,所以我就这么说:如果您不介意一个失败的pod,并且您希望一个失败的pod不会被Kubernetes重新创建,那么您可以通过捕获所有错误并优雅地退出在代码中做到这一点(不建议)。还请注意,对于部署,唯一接受的restartpolicy
是始终。因此,崩溃的部署Pod总是由Kubernetes重新启动,并且可能会因为同样的原因而失败,导致crashloopbackoff
。
如果希望根据RabbitMQ队列的长度来扩展部署,请检查Keda。它是一个事件驱动的自动缩放平台。请确保也使用RabbitMQ检查它们的示例
另一种可能是作业/部署,它定期检查所讨论的队列的长度,并执行kubectl
命令以扩展部署。这是我能找到的最干净的,至少对我来说
一些上下文:我有多个cron作业每天、每周、每小时运行,其中一些需要很大的处理能力。我想向这些容器cron pod添加请求和限制,以尝试启用垂直扩展,并确保所分配的节点在初始化时具有足够的容量。这将使我不必在任何时候都有多个大型节点可用,也可以让我轻松地修改并行运行的cron数量。我想尽量避免定时缩放,因为cron作业的处理时间会随着应用程序的增长而增加。 编辑 - 附加信息 : 目前我正在使用数
从库伯内特斯v1.18开始,v2beta2 API允许通过水平Pod Autoscalar(HPA)行为字段配置缩放行为。我计划将具有自定义指标的HPA应用于StatefulSet。 我正在查看的用例是使用自定义指标(例如,我的应用程序上的用户会话数量)进行扩展,但HPA根本不会缩减。K8s SIG-Autoscaling增强功能也描述了此用例-“HPA的可配置缩放速度 用户会话可以在几分钟到几小
我正在尝试在我的kubernetes集群中设置自动缩放。在部署heapster及其服务之后。我正面临以下错误。 Heapster成功地从pod中提取度量,可在 自动缩放(HPA)中的建议无法获取CPU消耗:无法将对象解封为[]V1ALPHA1类型的Go值。PodMetrics未解决此问题
环境: 其他:发生了什么:我们有以下设置的库伯内特集群设置 主配置详细信息: 按以下配置运行kube dns: 发生了什么:Kubernetes DNS在kube-dns pod工作的地方工作,如果scale kubedns pod在任何地方(节点)都不工作。 在下面的中,一个dns pod正在节点1上运行,响应也来自节点1 busybox pod,但是节点2 busybox pod nslook
尝试将自动缩放部署到我的集群,但目标显示为“未知”,我尝试了不同的指标服务器,但无济于事。我关注了[这个githhub问题](https“//github.com/kubernetes/minikube/issues4456/)甚至认为我使用的是Kubeadm而不是迷你库贝,它并没有改变问题。 我也关注了这个堆栈帖子,但也没有成功。 我正在运行Ubuntu 20.0.4 LTS。 使用 kuber
问题内容: 我需要使用matplotlib获取一个自动拟合数据的图。这是我得到的代码: 这样就创建了一个图,但是无论数据是什么,窗口都始终是相同的(0-〜.8),即使所有数据都在该窗口之外。生成的窗口无法放大,只能放大,因此这是一个主要问题。我找不到在任何地方设置任何类型的大小设置的地方,II也找不到关于默认值的详细信息。我需要一个窗口来自动拟合数据,但是我找不到能执行此操作的任何函数(由于某些原