2017-10-14 32 views
1

我使用SCDF Kubernetes Server来部署Spring Cloud任务。当我启动新加坡民防部队Kubernetes服务器上春云任务,我发现两个奇怪的问题,请参见下面的细节:Spring云任务不能在SCDF上启动Kubernetes

  1. 部署春季云任务的时候,用参数的吊舱将在Kubernetes,see Pod picture生产。问题在于Pod的参数无法传递到Spring Cloud任务。
  2. 当我启动Spring Cloud Task时,如果我想添加一些格式为app.mytask.test = aaa的属性,我发现该属性无法传递到Spring Cloud Task,甚至会覆盖所有参数。

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

回答

0

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

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 

其实,ARGS标准Starting: TaskExecution消息中已经列出。

+0

我使用SCDF kubernetes服务器部署任务应用程序,环境变量可以显示在任务应用程序中,但参数不能显示,然后,我打印任务应用程序中的ApplicationArguments的内容,我发现它是空的 – kyo

+0

如果我更改spring.cloud.deployer.kubernetes.entryPointStyle = shell,这些属性将通过环境变量传入,并显示在任务应用程序中。 – kyo

+0

如果我使用SCDF本地服务器,这是没有问题的。 – kyo