2017-10-14 3 views
1

J'utilise SCDF Kubernetes Server pour déployer la tâche Spring Cloud. Quand je lance le Groupe de nuage printemps sur SCDF Kubernetes Server, je trouve deux problèmes étranges, voir ci-dessous les détails:La tâche Spring Cloud ne fonctionne pas sur les Kubernetes SCDF

  1. lors du déploiement du Groupe Nuage Printemps, le Pod avec des arguments sera produit sur Kubernetes, see Pod picture. le problème est que les arguments du Pod ne peuvent pas passer à la tâche de nuage de printemps. Lorsque je lance la tâche Spring Cloud, si je souhaite ajouter des propriétés dont le format est app.mytask.test = aaa, je trouve que la propriété ne peut pas passer à Spring Cloud Task, et même remplacer tous les arguments.

ai-je oublié quelque chose?, Ou des bogues? S'il vous plaît donnez-moi quelques conseils, merci

Répondre

0

Pourquoi pensez-vous que les arguments ne sont pas transmis à l'application de la tâche? Ça fonctionne bien pour moi. J'ai créé une tâche simple qui imprime les args simplement:

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" 

Le fichier journal:

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 

En fait, les args sont déjà indiqués dans le message standard Starting: TaskExecution.

+0

J'utilise SCDF kubernetes Server pour déployer l'application de tâche, les variables d'environnement peuvent être affichées dans l'application de tâche, mais les arguments ne peuvent pas être affichés, puis, j'imprime le contenu des ApplicationArguments dans l'application de la tâche – kyo

+0

Si je change spring.cloud.deployer.kubernetes.entryPointStyle = shell, les propriétés seront transmises via les variables d'environnement et affichées dans l'application de la tâche. – kyo

+0

Si j'utilise SCDF Local Server, cela ne pose aucun problème. – kyo