【问题标题】:Which kubernetes mode to chose选择哪种 Kubernetes 模式
【发布时间】:2019-08-20 15:55:26
【问题描述】:

我有一种情况,消息队列中的每条消息都必须由单独的实例处理(一个 pod 一次只能处理一条消息)。可以一次处理许多消息,但并行执行存在限制。一旦到达,就不会从队列中拉出新消息。消息处理大约需要 30 分钟。调用之间不需要在 pod 上存储任何状态(当 pod 开始处理消息时,所有数据都从数据库中读取)。一条新消息应该生成一个新的 pod,一旦处理完成,该 pod 就会死亡。

我应该使用 Deployment、ReplicaSet、StatefulSet、Services 吗? (我们使用 Kubernetes 和 Azure)我猜是主要的

我尝试过 ReplicaSet,但是在处理三条消息并完成一条消息的情况下,缩小 ReplicaSet 可能会杀死一个正在工作的 pod,这绝对不是我需要的。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    我会说,由于您不需要处理状态,因此必须丢弃 StatefulSet,另一方面,部署是 ReplicaSet 的更高级别概念,因此,您应该使用 Deployment,因为它会照顾的副本集。最后,由于您的处理需求不足,我会考虑使用Jobs,一旦作业完成任务,它会释放资源并终止,这将需要额外的代码来基于帮助程序创建作业,但可能非常方便。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 2015-08-15
      相关资源
      最近更新 更多