我终于在kubernetes池中浸泡我的脚趾,并希望得到一些建议,以解决我遇到的问题的最佳方法:

Tech we are using:

  • GCP

  • GKE

  • GCP Pub / Sub

We need to do bursts of batch processing spread out across a fleet and have decided on the following approach:

  • 新的原始数据流入

  • 一个节点对此进行分析并将数据分解为可管理的部分,这些部分被推送到队列中

  • 我们有一个Autoscaling On和Min Size为'0'的集群

  • Kubernetes作业为此群集上的每条新消息旋转一个pod

  • 当pods无法再拉取消息时,它们会成功终止

The question is:

  • 触发此类工作的标准方法是什么?

  • 你是每次都创造一份新工作,还是长期居住和重新开办的工作?

  • 我只看过使用yaml文件的例子,但是我们可能希望执行分工的节点创建作业,因为它知道应该运行多少个并行pod . 是否建议使用python sdk以编程方式创建作业规范?或者,如果工作是长寿的,你只需点击k8 api并修改所需的并行pod,然后重新运行工作?