我正在建立用于批处理的数据管道。而且我发现Spring Cloud Data Flow是一个非常吸引人的框架。没有SCDF和Kubernetes的大量知识,我不确定是否有可能在特定机器上有条件地启动Spring Cloud Task。
假设我有两个用于运行批处理过程的物理服务器(服务器A和服务器B)。默认情况下,我希望在服务器A上启动Spring Cloud任务。如果服务器A关闭,则该任务应部署在服务器B上。Kubernetes / SCDF是否可以处理这种机制?我想知道nodeselector
是否是我应该研究的东西。
是,您可以在启动任务时将deployment.nodeSelector
作为部署属性传递。
deployment.nodeSelector
是Kubernetes部署属性,因此,您需要传递如下内容:
task launch mytask --properties "deployer.<taskAppName>.kubernetes.deployment.nodeSelector=foo1:bar1,foo2:bar2"
您可以检查受支持的Kubernetes部署程序属性列表here