【问题标题】:Conditionally launch Spring Cloud Task on a specific node of Kubernetes cluster有条件地在 Kubernetes 集群的特定节点上启动 Spring Cloud Task
【发布时间】:2020-09-19 11:18:26
【问题描述】:

我正在为批处理构建数据管道。而且我发现 Spring Cloud Data Flow 是一个非常有吸引力的框架。由于对 SCDF 和 Kubernetes 没有太多了解,我不确定是否可以在特定机器上有条件地启动 Spring Cloud Task。

假设我有两台用于运行批处理的物理服务器(服务器 A 和服务器 B)。默认情况下,我希望我的 Spring Cloud 任务在服务器 A 上启动。如果服务器 A 关闭,任务应该部署在服务器 B 上。Kubernetes / SCDF 可以处理这种机制吗?我想知道nodeselector 是否是我应该研究的东西。

【问题讨论】:

    标签: kubernetes spring-batch etl batch-processing spring-cloud-dataflow


    【解决方案1】:

    是的,您可以在启动任务时将deployment.nodeSelector 作为部署属性传递。

    deployment.nodeSelector 是 Kubernetes 部署属性,因此,您需要传递如下内容:

    task launch mytask --properties "deployer.<taskAppName>.kubernetes.deployment.nodeSelector=foo1:bar1,foo2:bar2"
    

    您可以查看支持的 Kubernetes 部署程序属性列表here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-17
      • 2021-10-11
      • 2018-05-05
      • 2014-12-10
      • 1970-01-01
      • 2019-12-10
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多