问题描述
我正在使用Spring Cloud Data Flow来协调任务应用程序的执行,并且需要使用其自己的资源配额(可能有保证且有些可突发)在其专用命名空间中运行每个任务应用程序。
按照指南Spring Cloud Data Flow Tasks Configuration,并使用timestamp-task docker镜像,我在server-config.yml
中具有以下配置
spring:
cloud:
dataflow:
task:
platform:
kubernetes:
accounts:
default:
limits:
memory: 1024Mi
my-dedicated-ns:
namespace: my-dedicated-ns
imagePullPolicy: Always
limits:
memory: 2048Mi
但是,当我使用参数--platformName=my-dedicated-ns
启动任务时,任务仍在运行scdf的默认命名空间中执行(我称其为spring-cloud-dataflow)。
看看执行细节,我会看到-
--platformName: my-dedicated-ns
--spring.cloud.data.flow.platformname: default
--spring.cloud.task.executionid: 9
问题-
- 如何使任务在
my-dedicated-ns
名称空间中运行? - spring.cloud.data.flow.platformname是什么,并且与之相关吗?我尝试在任务参数中设置它,但它始终显示为默认值。
编辑:
在我得到的任务窗格上运行kubectl describe
-
kubectl describe pod/timestamp-task-9n5xq9o8y0
...
Name: timestamp-task-9n5xq9o8y0
Namespace: spring-cloud-dataflow
...
Containers:
timestamp-task-z95kxp4r84:
Image: springcloudtask/timestamp-task
Args:
--platformName=my-dedicated-ns
--spring.cloud.data.flow.platformname=default
--spring.cloud.task.executionid=7
哪个建议Spring Cloud Data Flow服务器始终在相同的名称空间中运行任务,如果是--platformName
是干什么的呢?
解决方法
平台名称工作得很好,我不得不重新启动Spring Cloud Data Flow服务器以获取新的命名空间定义,
spring:
cloud:
dataflow:
task:
platform:
kubernetes:
accounts:
生效。