1

我使用 SCDF Kubernetes Server 来部署 Spring Cloud Task。当我在 SCDF Kubernetes 服务器上启动 Spring Cloud Task 时,我发现了两个奇怪的问题,请参见以下详细信息:

  1. 部署 Spring Cloud Task 时,会在 Kubernetes 上生成带参数的 Pod,参见 Pod 图片。问题是 Pod 的参数不能传递给 Spring Cloud Task。
  2. 当我启动 Spring Cloud Task 时,如果我想添加一些格式为 app.mytask.test=aaa 的属性,我发现该属性无法传递给 Spring Cloud Task,甚至覆盖所有参数。

我错过了什么吗?或错误?请给我一些建议,谢谢

4

1 回答 1

0

为什么你认为参数没有传递给任务应用程序?这对我来说可以。我创建了一个简单的任务,只打印参数:

dataflow:>app register --type task --name hello --uri docker://dturanski/hello-world-task:v2
dataflow:>task create --name hello --definition "hello"
dataflow:>task launch hello --arguments "app.mytesk.test=aaa"

日志文件:

Starting: TaskExecution{executionId=5, parentExecutionId=null, exitCode=null, taskName='hello', startTime=Sat Oct 14 21:21:42 GMT 2017, endTime=null, exitMessage='null', externalExecutionId='null', errorMessage='null', arguments=[--spring.datasource.username=root,spring.cloud.task.name=hello, spring.datasource.url=jdbc:mysql://10.59.251.149:3306/dataflow, -spring.datasource.driverClassName=org.mariadb.jdbc.Driver, --spring.datasource.password=srz427UgQ0, app.mytesk.test=aaa, -spring.cloud.task.executionid=5]}
arg: --spring.datasource.username=root
arg: --spring.cloud.task.name=hello
arg: --spring.datasource.url=jdbc:mysql://10.59.251.149:3306/dataflow
arg: --spring.datasource.driverClassName=org.mariadb.jdbc.Driver
arg: --spring.datasource.password=srz427UgQ0
arg: app.mytesk.test=aaa
arg: --spring.cloud.task.executionid=5

实际上,参数已经显示在标准Starting: TaskExecution 消息中。

于 2017-10-14T21:31:08.763 回答